Loading tests/data/test506 +14 −16 Original line number Diff line number Diff line Loading @@ -156,33 +156,31 @@ unlock: share [Pigs in space]: 53 CURLOPT_COOKIEJAR CURLOPT_COOKIELIST FLUSH lock: cookie [Pigs in space]: 54 lock: cookie [Pigs in space]: 55 unlock: cookie [Pigs in space]: 56 unlock: cookie [Pigs in space]: 57 unlock: cookie [Pigs in space]: 55 PERFORM lock: dns [Pigs in space]: 58 unlock: dns [Pigs in space]: 59 lock: dns [Pigs in space]: 56 unlock: dns [Pigs in space]: 57 lock: cookie [Pigs in space]: 58 unlock: cookie [Pigs in space]: 59 lock: cookie [Pigs in space]: 60 unlock: cookie [Pigs in space]: 61 lock: cookie [Pigs in space]: 62 unlock: cookie [Pigs in space]: 63 lock: cookie [Pigs in space]: 64 unlock: cookie [Pigs in space]: 65 run 3: overwrite cookie 1 and 4 lock: dns [Pigs in space]: 66 unlock: dns [Pigs in space]: 67 lock: dns [Pigs in space]: 64 unlock: dns [Pigs in space]: 65 try SHARE_CLEANUP... lock: share [Pigs in space]: 68 unlock: share [Pigs in space]: 69 lock: share [Pigs in space]: 66 unlock: share [Pigs in space]: 67 SHARE_CLEANUP failed, correct CLEANUP lock: cookie [Pigs in space]: 70 unlock: cookie [Pigs in space]: 71 lock: cookie [Pigs in space]: 68 unlock: cookie [Pigs in space]: 69 lock: share [Pigs in space]: 70 unlock: share [Pigs in space]: 71 SHARE_CLEANUP lock: share [Pigs in space]: 72 unlock: share [Pigs in space]: 73 SHARE_CLEANUP lock: share [Pigs in space]: 74 unlock: share [Pigs in space]: 75 GLOBAL_CLEANUP </stdout> <stderr> Loading tests/libtest/lib506.c +27 −1 Original line number Diff line number Diff line Loading @@ -5,7 +5,7 @@ * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al. * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms Loading Loading @@ -40,12 +40,15 @@ struct userdata { int counter; }; int lock[3]; /* lock callback */ static void my_lock(CURL *handle, curl_lock_data data, curl_lock_access laccess, void *useptr ) { const char *what; struct userdata *user = (struct userdata *)useptr; int locknum; (void)handle; (void)laccess; Loading @@ -53,17 +56,28 @@ static void my_lock(CURL *handle, curl_lock_data data, curl_lock_access laccess, switch ( data ) { case CURL_LOCK_DATA_SHARE: what = "share"; locknum = 0; break; case CURL_LOCK_DATA_DNS: what = "dns"; locknum = 1; break; case CURL_LOCK_DATA_COOKIE: what = "cookie"; locknum = 2; break; default: fprintf(stderr, "lock: no such data: %d\n", (int)data); return; } /* detect locking of locked locks */ if(lock[locknum]) { printf("lock: double locked %s\n", what); return; } lock[locknum]++; printf("lock: %-6s [%s]: %d\n", what, user->text, user->counter); user->counter++; } Loading @@ -73,21 +87,33 @@ static void my_unlock(CURL *handle, curl_lock_data data, void *useptr ) { const char *what; struct userdata *user = (struct userdata *)useptr; int locknum; (void)handle; switch ( data ) { case CURL_LOCK_DATA_SHARE: what = "share"; locknum = 0; break; case CURL_LOCK_DATA_DNS: what = "dns"; locknum = 1; break; case CURL_LOCK_DATA_COOKIE: what = "cookie"; locknum = 2; break; default: fprintf(stderr, "unlock: no such data: %d\n", (int)data); return; } /* detect unlocking of unlocked locks */ if(!lock[locknum]) { printf("unlock: double unlocked %s\n", what); return; } lock[locknum]--; printf("unlock: %-6s [%s]: %d\n", what, user->text, user->counter); user->counter++; } Loading Loading
tests/data/test506 +14 −16 Original line number Diff line number Diff line Loading @@ -156,33 +156,31 @@ unlock: share [Pigs in space]: 53 CURLOPT_COOKIEJAR CURLOPT_COOKIELIST FLUSH lock: cookie [Pigs in space]: 54 lock: cookie [Pigs in space]: 55 unlock: cookie [Pigs in space]: 56 unlock: cookie [Pigs in space]: 57 unlock: cookie [Pigs in space]: 55 PERFORM lock: dns [Pigs in space]: 58 unlock: dns [Pigs in space]: 59 lock: dns [Pigs in space]: 56 unlock: dns [Pigs in space]: 57 lock: cookie [Pigs in space]: 58 unlock: cookie [Pigs in space]: 59 lock: cookie [Pigs in space]: 60 unlock: cookie [Pigs in space]: 61 lock: cookie [Pigs in space]: 62 unlock: cookie [Pigs in space]: 63 lock: cookie [Pigs in space]: 64 unlock: cookie [Pigs in space]: 65 run 3: overwrite cookie 1 and 4 lock: dns [Pigs in space]: 66 unlock: dns [Pigs in space]: 67 lock: dns [Pigs in space]: 64 unlock: dns [Pigs in space]: 65 try SHARE_CLEANUP... lock: share [Pigs in space]: 68 unlock: share [Pigs in space]: 69 lock: share [Pigs in space]: 66 unlock: share [Pigs in space]: 67 SHARE_CLEANUP failed, correct CLEANUP lock: cookie [Pigs in space]: 70 unlock: cookie [Pigs in space]: 71 lock: cookie [Pigs in space]: 68 unlock: cookie [Pigs in space]: 69 lock: share [Pigs in space]: 70 unlock: share [Pigs in space]: 71 SHARE_CLEANUP lock: share [Pigs in space]: 72 unlock: share [Pigs in space]: 73 SHARE_CLEANUP lock: share [Pigs in space]: 74 unlock: share [Pigs in space]: 75 GLOBAL_CLEANUP </stdout> <stderr> Loading
tests/libtest/lib506.c +27 −1 Original line number Diff line number Diff line Loading @@ -5,7 +5,7 @@ * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al. * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms Loading Loading @@ -40,12 +40,15 @@ struct userdata { int counter; }; int lock[3]; /* lock callback */ static void my_lock(CURL *handle, curl_lock_data data, curl_lock_access laccess, void *useptr ) { const char *what; struct userdata *user = (struct userdata *)useptr; int locknum; (void)handle; (void)laccess; Loading @@ -53,17 +56,28 @@ static void my_lock(CURL *handle, curl_lock_data data, curl_lock_access laccess, switch ( data ) { case CURL_LOCK_DATA_SHARE: what = "share"; locknum = 0; break; case CURL_LOCK_DATA_DNS: what = "dns"; locknum = 1; break; case CURL_LOCK_DATA_COOKIE: what = "cookie"; locknum = 2; break; default: fprintf(stderr, "lock: no such data: %d\n", (int)data); return; } /* detect locking of locked locks */ if(lock[locknum]) { printf("lock: double locked %s\n", what); return; } lock[locknum]++; printf("lock: %-6s [%s]: %d\n", what, user->text, user->counter); user->counter++; } Loading @@ -73,21 +87,33 @@ static void my_unlock(CURL *handle, curl_lock_data data, void *useptr ) { const char *what; struct userdata *user = (struct userdata *)useptr; int locknum; (void)handle; switch ( data ) { case CURL_LOCK_DATA_SHARE: what = "share"; locknum = 0; break; case CURL_LOCK_DATA_DNS: what = "dns"; locknum = 1; break; case CURL_LOCK_DATA_COOKIE: what = "cookie"; locknum = 2; break; default: fprintf(stderr, "unlock: no such data: %d\n", (int)data); return; } /* detect unlocking of unlocked locks */ if(!lock[locknum]) { printf("unlock: double unlocked %s\n", what); return; } lock[locknum]--; printf("unlock: %-6s [%s]: %d\n", what, user->text, user->counter); user->counter++; } Loading