mirror of
https://github.com/warmcat/libwebsockets.git
synced 2025-03-09 00:00:04 +01:00
lws_dir: uv: clean up temp loop on fail
This commit is contained in:
parent
93d6ab929b
commit
44fa7e39e3
1 changed files with 6 additions and 3 deletions
|
@ -48,25 +48,28 @@ lws_dir(const char *dirpath, void *user, lws_dir_callback_function cb)
|
|||
ir = uv_loop_init(&loop);
|
||||
if (ir) {
|
||||
lwsl_err("%s: loop init failed %d\n", __func__, ir);
|
||||
return 1;
|
||||
}
|
||||
|
||||
ir = uv_fs_scandir(&loop, &req, dirpath, 0, NULL);
|
||||
if (ir < 0) {
|
||||
lwsl_err("Scandir on %s failed, errno %d\n", dirpath, LWS_ERRNO);
|
||||
return 2;
|
||||
ret = 2;
|
||||
goto bail;
|
||||
}
|
||||
|
||||
while (uv_fs_scandir_next(&req, &dent) != UV_EOF) {
|
||||
lde.name = dent.name;
|
||||
lde.type = (int)dent.type;
|
||||
if (cb(dirpath, user, &lde))
|
||||
goto bail;
|
||||
goto bail1;
|
||||
}
|
||||
|
||||
ret = 0;
|
||||
|
||||
bail:
|
||||
bail1:
|
||||
uv_fs_req_cleanup(&req);
|
||||
bail:
|
||||
while (uv_loop_close(&loop))
|
||||
;
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue