chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add gettext support
[elogind.git]
/
src
/
shared
/
async.c
diff --git
a/src/shared/async.c
b/src/shared/async.c
index 115901e637f18e532c381c1f40ceb3bcaff7ff2a..7725e6d7d363e7ee17821214863525dd062e4c18 100644
(file)
--- a/
src/shared/async.c
+++ b/
src/shared/async.c
@@
-41,24
+41,18
@@
int asynchronous_job(void* (*func)(void *p), void *arg) {
* only in long running processes. */
r = pthread_attr_init(&a);
* only in long running processes. */
r = pthread_attr_init(&a);
- if (r
!=
0)
+ if (r
>
0)
return -r;
r = pthread_attr_setdetachstate(&a, PTHREAD_CREATE_DETACHED);
return -r;
r = pthread_attr_setdetachstate(&a, PTHREAD_CREATE_DETACHED);
- if (r != 0) {
- r = -r;
+ if (r > 0)
goto finish;
goto finish;
- }
r = pthread_create(&t, &a, func, arg);
r = pthread_create(&t, &a, func, arg);
- if (r != 0) {
- r = -r;
- goto finish;
- }
finish:
pthread_attr_destroy(&a);
finish:
pthread_attr_destroy(&a);
- return r;
+ return
-
r;
}
static void *sync_thread(void *p) {
}
static void *sync_thread(void *p) {