$Session_Open

From m204wiki
Revision as of 17:36, 28 January 2011 by 198.242.244.47 (talk) (Created page with "{{DISPLAYTITLE:$Session_Open}} <span class="pageSubtitle"><section begin="desc" />Open a session<section end="desc" /></span> <p class="warning">Most Sirius $functions have been...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

<section begin="desc" />Open a session<section end="desc" />

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" />

$Session_Open function

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

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

$Session_Open return codes


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)


For more information about sessions

This $function is new in Sirius Mods Version 6.3.

Products authorizing $Session_Delete