Index: fusl/src/thread/pthread_setcanceltype.c |
diff --git a/fusl/src/thread/pthread_setcanceltype.c b/fusl/src/thread/pthread_setcanceltype.c |
new file mode 100644 |
index 0000000000000000000000000000000000000000..bf0a3f383dd34943c6eb502f50043b4dddcff537 |
--- /dev/null |
+++ b/fusl/src/thread/pthread_setcanceltype.c |
@@ -0,0 +1,11 @@ |
+#include "pthread_impl.h" |
+ |
+int pthread_setcanceltype(int new, int *old) |
+{ |
+ struct pthread *self = __pthread_self(); |
+ if (new > 1U) return EINVAL; |
+ if (old) *old = self->cancelasync; |
+ self->cancelasync = new; |
+ if (new) pthread_testcancel(); |
+ return 0; |
+} |