summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSajjad Hashemian <wolaws@gmail.com>2018-09-10 14:18:36 +0430
committerRyan Dahl <ry@tinyclouds.org>2018-09-10 15:02:07 -0400
commitc2663e1d82521e9b68a7e2e96197030a4ee00c30 (patch)
tree5223730175f88d24a028b7d1497a6a7312b77683 /src
parente293c204a07f5a7a862e835f8a5f54f5435f8b91 (diff)
Implement deno.mkdir()
Diffstat (limited to 'src')
-rw-r--r--src/handlers.rs13
-rw-r--r--src/msg.fbs4
2 files changed, 8 insertions, 9 deletions
diff --git a/src/handlers.rs b/src/handlers.rs
index 2fff5a06f..7d8fafc10 100644
--- a/src/handlers.rs
+++ b/src/handlers.rs
@@ -49,7 +49,7 @@ pub extern "C" fn msg_from_js(d: *const DenoC, buf: deno_buf) {
msg::Any::TimerStart => handle_timer_start,
msg::Any::TimerClear => handle_timer_clear,
msg::Any::MakeTempDir => handle_make_temp_dir,
- msg::Any::MkdirSync => handle_mkdir_sync,
+ msg::Any::Mkdir => handle_mkdir,
msg::Any::ReadFile => handle_read_file,
msg::Any::RenameSync => handle_rename_sync,
msg::Any::SetEnv => handle_set_env,
@@ -418,18 +418,17 @@ fn handle_make_temp_dir(d: *const DenoC, base: &msg::Base) -> Box<Op> {
}()))
}
-fn handle_mkdir_sync(d: *const DenoC, base: &msg::Base) -> Box<Op> {
- let msg = base.msg_as_mkdir_sync().unwrap();
- let path = msg.path().unwrap();
+fn handle_mkdir(d: *const DenoC, base: &msg::Base) -> Box<Op> {
+ let msg = base.msg_as_mkdir().unwrap();
// TODO let mode = msg.mode();
+ let path = msg.path().unwrap();
let deno = from_c(d);
- debug!("handle_mkdir_sync {}", path);
if !deno.flags.allow_write {
return odd_future(permission_denied());
}
-
- // TODO(ry) use blocking
+ // TODO Use tokio_threadpool.
Box::new(futures::future::result(|| -> OpResult {
+ debug!("handle_mkdir {}", path);
// TODO(ry) Use mode.
deno_fs::mkdir(Path::new(path))?;
Ok(None)
diff --git a/src/msg.fbs b/src/msg.fbs
index 77aae8ffb..33278a669 100644
--- a/src/msg.fbs
+++ b/src/msg.fbs
@@ -14,7 +14,7 @@ union Any {
FetchRes,
MakeTempDir,
MakeTempDirRes,
- MkdirSync,
+ Mkdir,
ReadFile,
ReadFileRes,
RenameSync,
@@ -167,7 +167,7 @@ table MakeTempDirRes {
path: string;
}
-table MkdirSync {
+table Mkdir {
path: string;
mode: uint;
// mode specified by https://godoc.org/os#FileMode