$Session_Open

From m204wiki
Revision as of 23:09, 19 February 2015 by JALWiccan (talk | contribs) (Automatically generated page update)
Jump to navigation Jump to search

Open a session

Note: Most Sirius $functions have been deprecated in favor of Object Oriented methods. The OO equivalent for the $Session_Open function is GetSession.

$Session_Open opens a previously created session.


Syntax

%rc = $Session_Open(sesid, [owner], [timeout])

$Session_Open accepts three arguments and returns a zero, indicating success, or a number indicating the cause of error, if there is one.

The first argument is the id of the session to be opened. This is a required argument.

The second argument is the userid that owns the session to be opened. An owner value of asterisk (*) means that the session is public, that is available to all users. This optional argument defaults to the creating user's userid.

The third argument is the time to wait for an in-use session to be closed before giving up. A value of -1 indicates to use the value of the SRSDEFOW parameter. This argument defaults to -1, that is the value of the SRSDEFOW parameter.

Return codes

%rc is set to 0 or to an error indicator.

0 - No errors 1 - Session not found 2 - Session in use

Usage notes

Use of a non-zero timeout for $Session_Open can be useful for single-threading multiple threads through a request or for dealing with timing problems where it's possible for a request for a session to come in before the previous one is completely done. This is quite possible in Janus Web Server applications where a request resulting from a redirect comes in before the redirecting thread has closed the session or where a user cancels a request and then resubmits it while the original request is still processing and so has the session open.

Example

The following retrieves a session id from a cookie and opens it:

%SESID = $WEB_GET_COOKIE('SESID') %RC = $Session_Open(%SESID)

Products authorizing $Session_Open