diff options
Diffstat (limited to 'winsup/cygwin/passwd.cc')
-rw-r--r-- | winsup/cygwin/passwd.cc | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/winsup/cygwin/passwd.cc b/winsup/cygwin/passwd.cc index 6164b0930..319ebbbcd 100644 --- a/winsup/cygwin/passwd.cc +++ b/winsup/cygwin/passwd.cc @@ -205,6 +205,8 @@ getpwuid (uid_t uid) { if (passwd_state <= initializing) read_etc_passwd (); + + pthread_testcancel(); return search_for (uid, 0); } @@ -220,6 +222,8 @@ getpwuid_r (uid_t uid, struct passwd *pwd, char *buffer, size_t bufsize, struct if (passwd_state <= initializing) read_etc_passwd (); + pthread_testcancel(); + struct passwd *temppw = search_for (uid, 0); if (!temppw) @@ -248,6 +252,8 @@ getpwnam (const char *name) { if (passwd_state <= initializing) read_etc_passwd (); + + pthread_testcancel(); return search_for (0, name); } @@ -268,6 +274,8 @@ getpwnam_r (const char *nam, struct passwd *pwd, char *buffer, size_t bufsize, s if (passwd_state <= initializing) read_etc_passwd (); + pthread_testcancel(); + struct passwd *temppw = search_for (0, nam); if (!temppw) |