Permalink
Browse files

Upgrade libuv to 9c064fb

  • Loading branch information...
1 parent 9b4e8e0 commit ae648a44c48e0de0149f83880be542609588c80f @piscisaureus piscisaureus committed Dec 1, 2011
View
@@ -9,3 +9,4 @@ Isaac Z. Schlueter <i@izs.me>
Saúl Ibarra Corretgé <saghul@gmail.com>
Yuki OKUMURA <mjt@cltn.org>
Frank Denis <github@pureftpd.org>
+Ryan Emery <seebees@gmail.com>
View
@@ -33,3 +33,6 @@ Roman Shtylman <shtylman@gmail.com>
Frank Denis <github@pureftpd.org>
Carter Allen <CarterA@opt-6.com>
Tj Holowaychuk <tj@vision-media.ca>
+Shimon Doodkin <helpmepro1@gmail.com>
+Ryan Emery <seebees@gmail.com>
+Bruce Mitchener <bruce.mitchener@gmail.com>
View
@@ -1,7 +1,7 @@
# libuv
libuv is a new platform layer for Node. Its purpose is to abstract IOCP on
-windows and libev on Unix systems. We intend to eventually contain all
+Windows and libev on Unix systems. We intend to eventually contain all
platform differences in this library.
http://nodejs.org/
View
@@ -50,7 +50,6 @@ endif
ifeq (Darwin,$(uname_S))
EV_CONFIG=config_darwin.h
EIO_CONFIG=config_darwin.h
-CPPFLAGS += -D__DARWIN_64_BIT_INO_T=1
CPPFLAGS += -Isrc/ares/config_darwin
LINKFLAGS+=-framework CoreServices
OBJS += src/unix/darwin.o
View
@@ -106,7 +106,7 @@ typedef intptr_t ssize_t;
XX( 35, ENOSYS, "function not implemented") \
XX( 36, EPIPE, "broken pipe") \
XX( 37, EPROTO, "protocol error") \
- XX( 38, EPROTONOSUPPORT, "protocol not suppored") \
+ XX( 38, EPROTONOSUPPORT, "protocol not supported") \
XX( 39, EPROTOTYPE, "protocol wrong type for socket") \
XX( 40, ETIMEDOUT, "connection timed out") \
XX( 41, ECHARSET, "") \
@@ -226,7 +226,6 @@ UV_EXTERN int64_t uv_now(uv_loop_t*);
/*
* The status parameter is 0 if the request completed successfully,
* and should be -1 if the request was cancelled or failed.
- * For uv_close_cb, -1 means that the handle was closed due to an error.
* Error details can be obtained by calling uv_last_error().
*
* In the case of uv_read_cb the uv_buf_t returned should be freed by the
@@ -263,7 +262,7 @@ typedef void (*uv_after_work_cb)(uv_work_t* req);
* This will be called repeatedly after the uv_fs_event_t is initialized.
* If uv_fs_event_t was initialized with a directory the filename parameter
* will be a relative path to a file contained in the directory.
-* The events paramenter is an ORed mask of enum uv_fs_event elements.
+* The events parameter is an ORed mask of enum uv_fs_event elements.
*/
typedef void (*uv_fs_event_cb)(uv_fs_event_t* handle, const char* filename,
int events, int status);
@@ -315,8 +314,8 @@ UV_PRIVATE_REQ_TYPES
*
* Shutdown the outgoing (write) side of a duplex stream. It waits for
* pending write requests to complete. The handle should refer to a
- * initialized stream. req should be an uninitalized shutdown request
- * struct. The cb is a called after shutdown is complete.
+ * initialized stream. req should be an uninitialized shutdown request
+ * struct. The cb is called after shutdown is complete.
*/
UV_EXTERN int uv_shutdown(uv_shutdown_t* req, uv_stream_t* handle,
uv_shutdown_cb cb);
@@ -345,8 +344,8 @@ struct uv_handle_s {
};
/*
- * Returns 1 if the prepare/check/idle handle has been started, 0 otherwise.
- * For other handle types this always returns 1.
+ * Returns 1 if the prepare/check/idle/timer handle has been started, 0
+ * otherwise. For other handle types this always returns 1.
*/
UV_EXTERN int uv_is_active(uv_handle_t* handle);
@@ -509,7 +508,7 @@ UV_EXTERN int uv_tcp_getpeername(uv_tcp_t* handle, struct sockaddr* name,
* uv_tcp_connect, uv_tcp_connect6
* These functions establish IPv4 and IPv6 TCP connections. Provide an
* initialized TCP handle and an uninitialized uv_connect_t*. The callback
- * will be made when the connection is estabished.
+ * will be made when the connection is established.
*/
UV_EXTERN int uv_tcp_connect(uv_connect_t* req, uv_tcp_t* handle,
struct sockaddr_in address, uv_connect_cb cb);
@@ -884,7 +883,7 @@ UV_EXTERN int uv_timer_again(uv_timer_t* timer);
/*
* Set the repeat value. Note that if the repeat value is set from a timer
- * callback it does not immediately take effect. If the timer was nonrepeating
+ * callback it does not immediately take effect. If the timer was non-repeating
* before, it will have been stopped. If it was repeating, then the old repeat
* value will have been used to schedule the next timeout.
*/
@@ -938,7 +937,7 @@ typedef struct uv_process_options_s {
const char* file; /* Path to program to execute. */
/*
* Command line arguments. args[0] should be the path to the program. On
- * Windows this uses CreateProcess which concatinates the arguments into a
+ * Windows this uses CreateProcess which concatenates the arguments into a
* string this can cause some strange errors. See the note at
* windows_verbatim_arguments.
*/
@@ -962,7 +961,7 @@ typedef struct uv_process_options_s {
/*
* The user should supply pointers to initialized uv_pipe_t structs for
* stdio. This is used to to send or receive input from the subprocess.
- * The user is reponsible for calling uv_close on them.
+ * The user is responsible for calling uv_close on them.
*/
uv_pipe_t* stdin_stream;
uv_pipe_t* stdout_stream;
@@ -1022,7 +1021,7 @@ UV_EXTERN int uv_queue_work(uv_loop_t* loop, uv_work_t* req,
* uninitialized uv_fs_t object.
*
* uv_fs_req_cleanup() must be called after completion of the uv_fs_
- * function to free any internal memory allocations associted with the
+ * function to free any internal memory allocations associated with the
* request.
*/
@@ -1214,6 +1213,12 @@ UV_EXTERN int uv_ip6_name(struct sockaddr_in6* src, char* dst, size_t size);
/* Gets the executable path */
UV_EXTERN int uv_exepath(char* buffer, size_t* size);
+/* Gets the current working directory */
+UV_EXTERN uv_err_t uv_cwd(char* buffer, size_t size);
+
+/* Changes the current working directory */
+UV_EXTERN uv_err_t uv_chdir(const char* dir);
+
/* Gets memory info in bytes */
UV_EXTERN uint64_t uv_get_free_memory(void);
UV_EXTERN uint64_t uv_get_total_memory(void);
View
@@ -845,3 +845,25 @@ size_t uv__strlcpy(char* dst, const char* src, size_t size) {
return src - org;
}
+
+
+uv_err_t uv_cwd(char* buffer, size_t size) {
+ if (!buffer || !size) {
+ return uv__new_artificial_error(UV_EINVAL);
+ }
+
+ if (getcwd(buffer, size)) {
+ return uv_ok_;
+ } else {
+ return uv__new_sys_error(errno);
+ }
+}
+
+
+uv_err_t uv_chdir(const char* dir) {
+ if (chdir(dir) == 0) {
+ return uv_ok_;
+ } else {
+ return uv__new_sys_error(errno);
+ }
+}
View
@@ -62,7 +62,7 @@ static void CALLBACK uv_ares_socksignal_tp(void* parameter,
/* do not fail if error, thread may run after socket close */
/* The code assumes that c-ares will write all pending data in the */
/* callback, unless the socket would block. We can clear the state here */
- /* to avoid unecessary signals. */
+ /* to avoid unnecessary signals. */
WSAEnumNetworkEvents(sockhandle->sock,
sockhandle->h_event,
&network_events);
@@ -113,7 +113,7 @@ static void uv_ares_sockstate_cb(void *data, ares_socket_t sock, int read,
if (read == 0 && write == 0) {
/* if read and write are 0, cleanup existing data */
/* The code assumes that c-ares does a callback with read = 0 and */
- /* write = 0 when the socket is closed. After we recieve this we stop */
+ /* write = 0 when the socket is closed. After we receive this we stop */
/* monitoring the socket. */
if (uv_handle_ares != NULL) {
uv_req_t* uv_ares_req;
@@ -244,7 +244,7 @@ void uv_process_ares_cleanup_req(uv_loop_t* loop, uv_ares_task_t* handle,
}
}
} else {
- /* stil busy - repost and try again */
+ /* still busy - repost and try again */
POST_COMPLETION_FOR_REQ(loop, req);
}
}
View
@@ -91,7 +91,7 @@ static void uv_loop_init(uv_loop_t* loop) {
static void uv_default_loop_init(void) {
- /* Intialize libuv itself first */
+ /* Initialize libuv itself first */
uv_once(&uv_init_guard_, uv_init);
/* Initialize the main loop */
View
@@ -249,7 +249,7 @@ void uv_pipe_endgame(uv_loop_t* loop, uv_pipe_t* handle) {
return;
}
- /* Run FlushFileBuffers in the thhead pool. */
+ /* Run FlushFileBuffers in the thread pool. */
result = QueueUserWorkItem(pipe_shutdown_thread_proc,
req,
WT_EXECUTELONGFUNCTION);
@@ -254,7 +254,7 @@ static wchar_t* path_search_walk_ext(const wchar_t *dir,
* - CMD does not trim leading/trailing whitespace from path/pathex entries
* nor from the environment variables as a whole.
*
- * - When cmd.exe cannot read a directory, it wil just skip it and go on
+ * - When cmd.exe cannot read a directory, it will just skip it and go on
* searching. However, unlike posix-y systems, it will happily try to run a
* file that is not readable/executable; if the spawn fails it will not
* continue searching.
@@ -400,7 +400,7 @@ wchar_t* quote_cmd_arg(const wchar_t *source, wchar_t *target) {
}
/*
- * Expected intput/output:
+ * Expected input/output:
* input : hello"world
* output: "hello\"world"
* input : hello""world
@@ -1018,7 +1018,7 @@ int uv_spawn(uv_loop_t* loop, uv_process_t* process,
} else {
/* CreateProcessW failed, but this failure should be delivered */
- /* asynchronously to retain unix compatibility. So pretent spawn */
+ /* asynchronously to retain unix compatibility. So pretend spawn */
/* succeeded, and start a thread instead that prints an error */
/* to the child's intended stderr. */
process->spawn_errno = GetLastError();
@@ -1046,7 +1046,7 @@ int uv_spawn(uv_loop_t* loop, uv_process_t* process,
close_child_stdio(process);
} else {
/* We're keeping the handles open, the thread pool is going to have */
- /* it's way with them. But at least make them noninheritable. */
+ /* it's way with them. But at least make them non-inheritable. */
int i;
for (i = 0; i < COUNTOF(process->child_stdio); i++) {
SetHandleInformation(child_stdio[i], HANDLE_FLAG_INHERIT, 0);
View
@@ -1084,7 +1084,7 @@ int uv_tcp_duplicate_socket(uv_tcp_t* handle, int pid,
/*
* We're about to share the socket with another process. Because
* this is a listening socket, we assume that the other process will
- * be accepting conections on it. So, before sharing the socket
+ * be accepting connections on it. So, before sharing the socket
* with another process, we call listen here in the parent process.
* This needs to be modified if the socket is shared with
* another process for anything other than accepting connections.
@@ -1137,7 +1137,7 @@ int uv_tcp_simultaneous_accepts(uv_tcp_t* handle, int enable) {
handle->flags |= UV_HANDLE_TCP_SINGLE_ACCEPT;
- /* Flip the changing flag if we have already queueed multiple accepts. */
+ /* Flip the changing flag if we have already queued multiple accepts. */
if (handle->flags & UV_HANDLE_LISTENING) {
handle->flags |= UV_HANDLE_TCP_ACCEPT_STATE_CHANGING;
}
View
@@ -86,7 +86,7 @@ uint64_t uv_hrtime(void) {
return 0;
}
- /* Because we have no guarantee about the order of magniture of the */
+ /* Because we have no guarantee about the order of magnitude of the */
/* performance counter frequency, and there may not be much headroom to */
/* multiply by NANOSEC without overflowing, we use 128-bit math instead. */
return ((uint64_t) counter.LowPart * NANOSEC / uv_hrtime_frequency_) +
View
@@ -739,7 +739,7 @@ int uv_tty_read_start(uv_tty_t* handle, uv_alloc_cb alloc_cb,
handle->read_cb = read_cb;
handle->alloc_cb = alloc_cb;
- /* If reading was stopped and then started again, there could stell be a */
+ /* If reading was stopped and then started again, there could still be a */
/* read request pending. */
if (handle->flags & UV_HANDLE_READ_PENDING) {
return 0;
@@ -1258,7 +1258,8 @@ static int uv_tty_write_bufs(uv_tty_t* handle, uv_buf_t bufs[], int bufcnt,
#ifdef _MSC_VER /* msvc */
if (_BitScanReverse(&first_zero_bit, not_c)) {
#else /* assume gcc */
- if (first_zero_bit = __builtin_clzl(not_c), c != 0) {
+ if (c != 0) {
+ first_zero_bit = (sizeof(int) * 8) - 1 - __builtin_clz(not_c);
#endif
if (first_zero_bit == 7) {
/* Ascii - pass right through */
View
@@ -362,7 +362,7 @@ int uv_udp_recv_start(uv_udp_t* handle, uv_alloc_cb alloc_cb,
handle->recv_cb = recv_cb;
handle->alloc_cb = alloc_cb;
- /* If reading was stopped and then started again, there could stell be a */
+ /* If reading was stopped and then started again, there could still be a */
/* recv request pending. */
if (!(handle->flags & UV_HANDLE_READ_PENDING))
uv_udp_queue_recv(loop, handle);
Oops, something went wrong.

0 comments on commit ae648a4

Please sign in to comment.