$Session Open: Difference between revisions
mNo edit summary |
m (1 revision) |
(No difference)
|
Revision as of 21:21, 22 November 2011
Open a session
Most Sirius $functions have been deprecated in favor of Object Oriented methods. The OO equivalent for the $Session_Open function is to be entered.
$Session_Open opens a previously created session, 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 of "*" 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.
Syntax
<section begin="syntax" /> %RC = $Session_Open(sesid, owner, timeout) <section end="syntax" />
0 - No errors 1 - Session not found 2 - Session in use
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.
The following retrieves a session id from a cookie and opens it:
%SESID = $WEB_GET_COOKIE('SESID') %RC = $Session_Open(%SESID)