Skip to content
Snippets Groups Projects
Commit ddd04b29 authored by rswindell's avatar rswindell
Browse files

file_mutex() now supports an option max_age argument (to detect and remove

stale mutex files).
parent 149e73aa
Branches
Tags
No related merge requests found
......@@ -8,7 +8,7 @@
* @format.tab-size 4 (Plain Text/Source Code File Header) *
* @format.use-tabs true (see http://www.synchro.net/ptsc_hdr.html) *
* *
* Copyright 2005 Rob Swindell - http://www.synchro.net/copyright.html *
* Copyright 2006 Rob Swindell - http://www.synchro.net/copyright.html *
* *
* This program is free software; you can redistribute it and/or *
* modify it under the terms of the GNU General Public License *
......@@ -2241,16 +2241,20 @@ js_fmutex(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
{
char* fname;
char* text=NULL;
int32 max_age=0;
uintN argn=0;
if(JSVAL_IS_VOID(argv[0]))
return(JS_TRUE);
if((fname=js_ValueToStringBytes(cx, argv[0], NULL))==NULL)
if((fname=js_ValueToStringBytes(cx, argv[argn++], NULL))==NULL)
return(JS_FALSE);
if(argc>1)
text=js_ValueToStringBytes(cx,argv[1], NULL);
if(argc > argn && JSVAL_IS_STRING(argv[argn]))
text=js_ValueToStringBytes(cx, argv[argn++], NULL);
if(argc > argn && JSVAL_IS_NUMBER(argv[argn]))
JS_ValueToInt32(cx, argv[argn++], &max_age);
*rval = BOOLEAN_TO_JSVAL(fmutex(fname,text));
*rval = BOOLEAN_TO_JSVAL(fmutex(fname,text,max_age));
return(JS_TRUE);
}
......@@ -2765,9 +2769,12 @@ static jsSyncMethodSpec js_global_functions[] = {
"creating an empty file if it doesn't already exist")
,311
},
{"file_mutex", js_fmutex, 1, JSTYPE_BOOLEAN, JSDOCSTR("string filename [,text]")
{"file_mutex", js_fmutex, 1, JSTYPE_BOOLEAN, JSDOCSTR("string filename [,string text] [,number max_age]")
,JSDOCSTR("attempts to create an exclusive (e.g. lock) file, "
"optionally with the contents of <i>text</i>")
"optionally with the contents of <i>text</i>. "
"If a non-zero <i>max_age</i> (supported in v3.13b+) is specified "
"and the lock file exists, but is older than this value (in seconds), "
"it is presumed stale and removed/over-written")
,312
},
{"directory", js_directory, 1, JSTYPE_ARRAY, JSDOCSTR("string pattern [,flags]")
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment