Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / native_client_sdk / src / libraries / nacl_io / kernel_object.cc
index c9f3f2e..8c670f8 100644 (file)
@@ -25,7 +25,7 @@
 
 namespace nacl_io {
 
-KernelObject::KernelObject() {
+KernelObject::KernelObject() : umask_(0) {
   cwd_ = "/";
 }
 
@@ -155,6 +155,17 @@ Error KernelObject::SetCWD(const std::string& path) {
   return 0;
 }
 
+mode_t KernelObject::GetUmask() {
+  return umask_;
+}
+
+mode_t KernelObject::SetUmask(mode_t newmask) {
+  AUTO_LOCK(umask_lock_);
+  mode_t oldmask = umask_;
+  umask_ = newmask & S_MODEBITS;
+  return oldmask;
+}
+
 Error KernelObject::GetFDFlags(int fd, int* out_flags) {
   AUTO_LOCK(handle_lock_);
   if (fd < 0 || fd >= static_cast<int>(handle_map_.size()))