summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/timer.cc
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2011-12-03 21:43:27 +0000
committerChristopher Faylor <me@cgf.cx>2011-12-03 21:43:27 +0000
commitb9aa81491f62f6053bb648f20143ba9e68051622 (patch)
tree4156e112e197c9d9e4de5d0eb3ba0e51b57b9364 /winsup/cygwin/timer.cc
parent8b2547826762b748ad5b2bbe4089c422c7cd312a (diff)
downloadcygnal-b9aa81491f62f6053bb648f20143ba9e68051622.tar.gz
cygnal-b9aa81491f62f6053bb648f20143ba9e68051622.tar.bz2
cygnal-b9aa81491f62f6053bb648f20143ba9e68051622.zip
Throughout, remove extra space after function name from debugging output.
Throughout, change syscalls to report on return values using new %R format option. * smallprint.cc (__small_vsprintf): Add parsing for %R to report on return values and possible errno from syscalls. * errno.cc (errmap): Add PRIVILEGE_NOT_HELD. * fhandler_tty.cc (fhandler_pty_master::setup): When creating a thread use shorter name to reduce debuggging output. * select.cc (start_thread_pipe): Ditto. (start_thread_serial): Ditto. (start_thread_socket): Ditto. (start_thread_mailslot): Ditto. * sigproc.cc (talktome): Ditto.
Diffstat (limited to 'winsup/cygwin/timer.cc')
-rw-r--r--winsup/cygwin/timer.cc70
1 files changed, 42 insertions, 28 deletions
diff --git a/winsup/cygwin/timer.cc b/winsup/cygwin/timer.cc
index 79e8966d7..f24ddbcbc 100644
--- a/winsup/cygwin/timer.cc
+++ b/winsup/cygwin/timer.cc
@@ -377,26 +377,31 @@ fixup_timers_after_fork ()
extern "C" int
setitimer (int which, const struct itimerval *value, struct itimerval *ovalue)
{
+ int ret;
if (which != ITIMER_REAL)
{
set_errno (EINVAL);
- return -1;
+ ret = -1;
}
- struct itimerspec spec_value, spec_ovalue;
- int ret;
- spec_value.it_interval.tv_sec = value->it_interval.tv_sec;
- spec_value.it_interval.tv_nsec = value->it_interval.tv_usec * 1000;
- spec_value.it_value.tv_sec = value->it_value.tv_sec;
- spec_value.it_value.tv_nsec = value->it_value.tv_usec * 1000;
- ret = timer_settime ((timer_t) &ttstart, 0, &spec_value, &spec_ovalue);
- if (!ret && ovalue)
+ else
{
- ovalue->it_interval.tv_sec = spec_ovalue.it_interval.tv_sec;
- ovalue->it_interval.tv_usec = spec_ovalue.it_interval.tv_nsec / 1000;
- ovalue->it_value.tv_sec = spec_ovalue.it_value.tv_sec;
- ovalue->it_value.tv_usec = spec_ovalue.it_value.tv_nsec / 1000;
+ struct itimerspec spec_value, spec_ovalue;
+ spec_value.it_interval.tv_sec = value->it_interval.tv_sec;
+ spec_value.it_interval.tv_nsec = value->it_interval.tv_usec * 1000;
+ spec_value.it_value.tv_sec = value->it_value.tv_sec;
+ spec_value.it_value.tv_nsec = value->it_value.tv_usec * 1000;
+ ret = timer_settime ((timer_t) &ttstart, 0, &spec_value, &spec_ovalue);
+ if (ret)
+ ret = -1;
+ else if (ovalue)
+ {
+ ovalue->it_interval.tv_sec = spec_ovalue.it_interval.tv_sec;
+ ovalue->it_interval.tv_usec = spec_ovalue.it_interval.tv_nsec / 1000;
+ ovalue->it_value.tv_sec = spec_ovalue.it_value.tv_sec;
+ ovalue->it_value.tv_usec = spec_ovalue.it_value.tv_nsec / 1000;
+ }
}
- syscall_printf ("%d = setitimer ()", ret);
+ syscall_printf ("%R = setitimer()", ret);
return ret;
}
@@ -404,24 +409,33 @@ setitimer (int which, const struct itimerval *value, struct itimerval *ovalue)
extern "C" int
getitimer (int which, struct itimerval *ovalue)
{
+ int ret;
if (which != ITIMER_REAL)
{
set_errno (EINVAL);
- return -1;
+ ret = -1;
}
- myfault efault;
- if (efault.faulted (EFAULT))
- return -1;
- struct itimerspec spec_ovalue;
- int ret = timer_gettime ((timer_t) &ttstart, &spec_ovalue);
- if (!ret)
+ else
{
- ovalue->it_interval.tv_sec = spec_ovalue.it_interval.tv_sec;
- ovalue->it_interval.tv_usec = spec_ovalue.it_interval.tv_nsec / 1000;
- ovalue->it_value.tv_sec = spec_ovalue.it_value.tv_sec;
- ovalue->it_value.tv_usec = spec_ovalue.it_value.tv_nsec / 1000;
+ myfault efault;
+ if (efault.faulted (EFAULT))
+ ret = -1;
+ else
+ {
+ struct itimerspec spec_ovalue;
+ int ret = timer_gettime ((timer_t) &ttstart, &spec_ovalue);
+ if (ret)
+ ret = -1;
+ else
+ {
+ ovalue->it_interval.tv_sec = spec_ovalue.it_interval.tv_sec;
+ ovalue->it_interval.tv_usec = spec_ovalue.it_interval.tv_nsec / 1000;
+ ovalue->it_value.tv_sec = spec_ovalue.it_value.tv_sec;
+ ovalue->it_value.tv_usec = spec_ovalue.it_value.tv_nsec / 1000;
+ }
+ }
}
- syscall_printf ("%d = getitimer ()", ret);
+ syscall_printf ("%R = getitimer()", ret);
return ret;
}
@@ -437,7 +451,7 @@ alarm (unsigned int seconds)
newt.it_value.tv_sec = seconds;
timer_settime ((timer_t) &ttstart, 0, &newt, &oldt);
int ret = oldt.it_value.tv_sec + (oldt.it_value.tv_nsec > 0);
- syscall_printf ("%d = alarm (%d)", ret, seconds);
+ syscall_printf ("%d = alarm(%d)", ret, seconds);
return ret;
}
@@ -459,6 +473,6 @@ ualarm (useconds_t value, useconds_t interval)
}
timer_settime ((timer_t) &ttstart, 0, &timer, &otimer);
useconds_t ret = otimer.it_value.tv_sec * 1000000 + (otimer.it_value.tv_nsec + 999) / 1000;
- syscall_printf ("%d = ualarm (%d , %d)", ret, value, interval);
+ syscall_printf ("%d = ualarm(%d , %d)", ret, value, interval);
return ret;
}