+process.cwd()+::
Returns the current working directory of the process.
++process.umask(mask)+ ::
+Sets the process's file mode creation mask. Child processes inherit the mask
+from the parent process.
+ - returns the old mask.
+
+process.kill(pid, signal="SIGTERM")+ ::
Send a signal to a process. +pid+ is the process id and +signal+ is the
signal to send; for example, "SIGINT" or "SIGUSR1". See kill(2) for more
- on success: returns an integer +written+ which specifies how many _bytes_ were written.
- on error: no parameters.
-
+posix.read(fd, length, position, encoding)+::
Read data from the file specified by +fd+.
return scope.Close(cwd);
}
+static Handle<Value> Umask(const Arguments& args){
+ HandleScope scope;
+
+ if(args.Length() < 1 || !args[0]->IsInt32()) {
+ return ThrowException(Exception::TypeError(
+ String::New("argument must be an integer.")));
+ }
+ unsigned int mask = args[0]->Uint32Value();
+ unsigned int old = umask((mode_t)mask);
+
+ return scope.Close(Uint32::New(old));
+}
+
v8::Handle<v8::Value> Exit(const v8::Arguments& args) {
int r = 0;
if (args.Length() > 0)
NODE_SET_METHOD(process, "reallyExit", Exit);
NODE_SET_METHOD(process, "chdir", Chdir);
NODE_SET_METHOD(process, "cwd", Cwd);
+ NODE_SET_METHOD(process, "umask", Umask);
NODE_SET_METHOD(process, "dlopen", DLOpen);
NODE_SET_METHOD(process, "kill", Kill);
NODE_SET_METHOD(process, "memoryUsage", MemoryUsage);
--- /dev/null
+process.mixin(require("./common"));
+
+var mask = 0664;
+var old = process.umask(mask);
+
+assertEquals(true, mask === process.umask(old));