diff options
author | Thiago de Arruda <tpadilha84@gmail.com> | 2015-09-01 09:56:40 -0300 |
---|---|---|
committer | Thiago de Arruda <tpadilha84@gmail.com> | 2015-09-06 09:18:52 -0300 |
commit | 2a0ff9f5cf0064576fc295aa5bfb895cbc77896a (patch) | |
tree | 2302c0d49265522977bf780b5ee140db6c21a0bc /src/nvim/msgpack_rpc | |
parent | 9ec240e03fb81f9d9476cf413556ede2c8a6092b (diff) | |
download | rneovim-2a0ff9f5cf0064576fc295aa5bfb895cbc77896a.tar.gz rneovim-2a0ff9f5cf0064576fc295aa5bfb895cbc77896a.tar.bz2 rneovim-2a0ff9f5cf0064576fc295aa5bfb895cbc77896a.zip |
log: Make logging thread-safe
Diffstat (limited to 'src/nvim/msgpack_rpc')
-rw-r--r-- | src/nvim/msgpack_rpc/channel.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/nvim/msgpack_rpc/channel.c b/src/nvim/msgpack_rpc/channel.c index 45e78d6e79..34ff7c6374 100644 --- a/src/nvim/msgpack_rpc/channel.c +++ b/src/nvim/msgpack_rpc/channel.c @@ -825,6 +825,7 @@ static void log_server_msg(uint64_t channel_id, msgpack_unpack_next(&unpacked, packed->data, packed->size, NULL); uint64_t type = unpacked.data.via.array.ptr[0].via.u64; DLOGN("[msgpack-rpc] nvim -> client(%" PRIu64 ") ", channel_id); + log_lock(); FILE *f = open_log_file(); fprintf(f, type ? (type == 1 ? RES : NOT) : REQ); log_msg_close(f, unpacked.data); @@ -836,6 +837,7 @@ static void log_client_msg(uint64_t channel_id, msgpack_object msg) { DLOGN("[msgpack-rpc] client(%" PRIu64 ") -> nvim ", channel_id); + log_lock(); FILE *f = open_log_file(); fprintf(f, is_request ? REQ : RES); log_msg_close(f, msg); @@ -847,6 +849,7 @@ static void log_msg_close(FILE *f, msgpack_object msg) fputc('\n', f); fflush(f); fclose(f); + log_unlock(); } #endif |