Utils: Implement more flexible SystemException
[senf.git] / Scheduler / WriteHelper.ct
index 485c1e7..afc09c6 100644 (file)
@@ -78,7 +78,7 @@ prefix_ void senf::WriteHelper<Handle>::process(Handle handle,
     bool complete_ (false);
     try {
         if (event != senf::Scheduler::EV_WRITE)
-            throw senf::SystemException(EPIPE);
+            throwErrno(EPIPE);
         offset_ = handle.write(std::make_pair(offset_,data_.end()));
         if (offset_ == data_.end()) {
             data_.erase();
@@ -87,7 +87,7 @@ prefix_ void senf::WriteHelper<Handle>::process(Handle handle,
         }
     }
     catch (senf::SystemException const & ex) {
-        errno_ = ex.err;
+        errno_ = ex.code();
         done();
         return;
     }