Thanks to visit codestin.com
Credit goes to Github.com

Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions compat/fsmonitor/fsm-darwin-gcc.h
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ typedef const FSEventStreamRef ConstFSEventStreamRef;
typedef unsigned int CFStringEncoding;
#define kCFStringEncodingUTF8 0x08000100

typedef const void *CFTypeRef;
typedef const struct __CFString *CFStringRef;
typedef const struct __CFArray *CFArrayRef;
typedef const struct __CFRunLoop *CFRunLoopRef;
Expand Down Expand Up @@ -76,6 +77,7 @@ CFStringRef CFStringCreateWithCString(void *allocator, const char *string,
CFStringEncoding encoding);
CFArrayRef CFArrayCreate(void *allocator, const void **items, long long count,
void *callbacks);
void CFRelease(CFTypeRef cf);
void CFRunLoopRun(void);
void CFRunLoopStop(CFRunLoopRef run_loop);
CFRunLoopRef CFRunLoopGetCurrent(void);
Expand Down
14 changes: 14 additions & 0 deletions compat/fsmonitor/fsm-listen-darwin.c
Original file line number Diff line number Diff line change
Expand Up @@ -455,6 +455,13 @@ int fsm_listen__ctor(struct fsmonitor_daemon_state *state)
failed:
error(_("Unable to create FSEventStream."));

if (data->cfar_paths_to_watch)
CFRelease(data->cfar_paths_to_watch);
if (data->cfsr_gitdir_path)
CFRelease(data->cfsr_gitdir_path);
if (data->cfsr_worktree_path)
CFRelease(data->cfsr_worktree_path);

FREE_AND_NULL(state->listen_data);
return -1;
}
Expand All @@ -476,6 +483,13 @@ void fsm_listen__dtor(struct fsmonitor_daemon_state *state)
FSEventStreamRelease(data->stream);
}

if (data->cfar_paths_to_watch)
CFRelease(data->cfar_paths_to_watch);
if (data->cfsr_gitdir_path)
CFRelease(data->cfsr_gitdir_path);
if (data->cfsr_worktree_path)
CFRelease(data->cfsr_worktree_path);

if (data->dq)
dispatch_release(data->dq);
pthread_cond_destroy(&data->dq_finished);
Expand Down
Loading