mirror of https://github.com/nodejs/node.git
internal fs functions called with this == ReqWrap
parent
39ea27470c
commit
fcfec075e3
|
@ -54,7 +54,7 @@ typedef class ReqWrap<uv_fs_t> FSReqWrap;
|
||||||
static Persistent<String> encoding_symbol;
|
static Persistent<String> encoding_symbol;
|
||||||
static Persistent<String> errno_symbol;
|
static Persistent<String> errno_symbol;
|
||||||
static Persistent<String> buf_symbol;
|
static Persistent<String> buf_symbol;
|
||||||
static Persistent<String> callback_sym;
|
static Persistent<String> oncomplete_sym;
|
||||||
|
|
||||||
static inline bool SetCloseOnExec(int fd) {
|
static inline bool SetCloseOnExec(int fd) {
|
||||||
#ifdef __POSIX__
|
#ifdef __POSIX__
|
||||||
|
@ -77,7 +77,7 @@ static void After(uv_fs_t *req) {
|
||||||
|
|
||||||
FSReqWrap* req_wrap = (FSReqWrap*) req->data;
|
FSReqWrap* req_wrap = (FSReqWrap*) req->data;
|
||||||
assert(&req_wrap->req_ == req);
|
assert(&req_wrap->req_ == req);
|
||||||
Local<Value> callback_v = req_wrap->object_->Get(callback_sym);
|
Local<Value> callback_v = req_wrap->object_->Get(oncomplete_sym);
|
||||||
assert(callback_v->IsFunction());
|
assert(callback_v->IsFunction());
|
||||||
Local<Function> callback = Local<Function>::Cast(callback_v);
|
Local<Function> callback = Local<Function>::Cast(callback_v);
|
||||||
|
|
||||||
|
@ -192,7 +192,7 @@ static void After(uv_fs_t *req) {
|
||||||
|
|
||||||
TryCatch try_catch;
|
TryCatch try_catch;
|
||||||
|
|
||||||
callback->Call(v8::Context::GetCurrent()->Global(), argc, argv);
|
callback->Call(req_wrap->object_, argc, argv);
|
||||||
|
|
||||||
if (try_catch.HasCaught()) {
|
if (try_catch.HasCaught()) {
|
||||||
FatalException(try_catch);
|
FatalException(try_catch);
|
||||||
|
@ -218,7 +218,7 @@ struct fs_req_wrap {
|
||||||
int r = uv_fs_##func(uv_default_loop(), &req_wrap->req_, \
|
int r = uv_fs_##func(uv_default_loop(), &req_wrap->req_, \
|
||||||
__VA_ARGS__, After); \
|
__VA_ARGS__, After); \
|
||||||
assert(r == 0); \
|
assert(r == 0); \
|
||||||
req_wrap->object_->Set(callback_sym, callback); \
|
req_wrap->object_->Set(oncomplete_sym, callback); \
|
||||||
req_wrap->Dispatched(); \
|
req_wrap->Dispatched(); \
|
||||||
return scope.Close(req_wrap->object_);
|
return scope.Close(req_wrap->object_);
|
||||||
|
|
||||||
|
@ -991,7 +991,7 @@ void InitFs(Handle<Object> target) {
|
||||||
stats_constructor_template->GetFunction());
|
stats_constructor_template->GetFunction());
|
||||||
File::Initialize(target);
|
File::Initialize(target);
|
||||||
|
|
||||||
callback_sym = NODE_PSYMBOL("callback");
|
oncomplete_sym = NODE_PSYMBOL("oncomplete");
|
||||||
|
|
||||||
#ifdef __POSIX__
|
#ifdef __POSIX__
|
||||||
StatWatcher::Initialize(target);
|
StatWatcher::Initialize(target);
|
||||||
|
|
Loading…
Reference in New Issue