Andy Green [Sun, 6 Dec 2015 03:07:41 +0000 (11:07 +0800)]
coverity 155650 medium possible write to null pointer
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Sun, 6 Dec 2015 03:04:05 +0000 (11:04 +0800)]
coverity 155649 medium possible write to null pointer
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Sun, 6 Dec 2015 03:00:36 +0000 (11:00 +0800)]
coverity 155648 low dead code daemonize disabled
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Sun, 6 Dec 2015 02:43:02 +0000 (10:43 +0800)]
travis coverity update
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Sun, 6 Dec 2015 02:05:37 +0000 (10:05 +0800)]
clean more whitespace 5
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Sun, 6 Dec 2015 01:15:27 +0000 (09:15 +0800)]
clean more whitespace 4
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Sun, 6 Dec 2015 00:40:00 +0000 (08:40 +0800)]
clean more whitespace 3
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Sun, 6 Dec 2015 00:00:03 +0000 (08:00 +0800)]
clean reduce windows build warnings
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Sat, 5 Dec 2015 22:39:51 +0000 (06:39 +0800)]
more server close processing error handling precisions
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Sat, 5 Dec 2015 21:55:52 +0000 (05:55 +0800)]
server socket service close when detected do right thing
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Sat, 5 Dec 2015 21:52:09 +0000 (05:52 +0800)]
clean more whitespace 2
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Sat, 5 Dec 2015 13:51:47 +0000 (21:51 +0800)]
clean more whitespace
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Sat, 5 Dec 2015 13:52:16 +0000 (21:52 +0800)]
server socket service close fix fail detect
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Sat, 5 Dec 2015 01:38:50 +0000 (09:38 +0800)]
windows align lws_service_fd return processing with unix
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Fri, 4 Dec 2015 08:54:12 +0000 (16:54 +0800)]
cleanups after api changes and mbed update
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Fri, 4 Dec 2015 04:04:59 +0000 (12:04 +0800)]
attack.sh update for test server changes
Currently he can survive all the tests correctly
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Fri, 4 Dec 2015 03:57:48 +0000 (11:57 +0800)]
fix Uri Args header name
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Fri, 4 Dec 2015 03:34:49 +0000 (11:34 +0800)]
api rationalization fix replaces in compatibility defines
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Fri, 4 Dec 2015 03:30:53 +0000 (11:30 +0800)]
clean tidy the worst whitespace alignment probs due to mass token name length changes
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Fri, 4 Dec 2015 03:08:32 +0000 (11:08 +0800)]
api rationalization: eliminate all libwebsocket[s]_ prefixes
This nukes all the oldstyle prefixes except in the compatibility code.
struct libwebsockets becomes struct lws too.
The api docs are updated accordingly as are the READMEs that mention
those apis.
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Fri, 4 Dec 2015 02:39:23 +0000 (10:39 +0800)]
api rationalization add cmake switch to export old api wrappers
This is off by default, use
-D LWS_WITH_OLD_API_WRAPPERS=1
on cmake to get the old api names exported from the library as wrappers
around the new api names.
This allows the library to continue to be compatible with apps that are
not rebuilt with the new libwebsockets.h api compatibility defines.
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Fri, 4 Dec 2015 01:23:56 +0000 (09:23 +0800)]
api rationalization eliminate oldstyle internal api names
Between changing to lws_ a few years ago and the previous two
patches migrating the public apis, there are only a few
internal functions left using libwebsocket_*.
Change those to also use lws_ without regard to compatibility
since they were never visible outside the library.
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Fri, 4 Dec 2015 00:43:54 +0000 (08:43 +0800)]
api rationalization use new names internally
Change all internal uses of rationalized public apis to reflect the
new names.
Theer are a few things that got changed as side effect of search/replace
matches, but these are almost all internal. I added a compatibility define
for the public enum that got renamed.
Theoretically existing code should not notice the difference from these
two patches. And new code will find the new names.
https://github.com/warmcat/libwebsockets/issues/357
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Thu, 3 Dec 2015 23:55:17 +0000 (07:55 +0800)]
api rationalization: introduce public api compatibility defines
Just this is enough to be buildable and allow usage of new defines
for the public api.
https://github.com/warmcat/libwebsockets/issues/357
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Thu, 3 Dec 2015 23:22:44 +0000 (07:22 +0800)]
assert.h move to private header
https://github.com/warmcat/libwebsockets/issues/356
Signed-off-by: Andy Green <andy.green@linaro.org>
Peter Pentchev [Thu, 3 Dec 2015 13:55:11 +0000 (15:55 +0200)]
Fix some minor typos.
Andy Green [Thu, 3 Dec 2015 13:37:34 +0000 (21:37 +0800)]
ssl zero return indicates shutdown
Signed-off-by: Andy Green <andy.green@linaro.org>
Andrew Canaday [Wed, 2 Dec 2015 20:13:56 +0000 (15:13 -0500)]
Handle pending SSL reads which would otherwise not trigger a POLLIN.
Andrew Canaday [Thu, 3 Dec 2015 01:44:15 +0000 (09:44 +0800)]
ssl set ssl to NULL on close
Andrejs Hanins [Tue, 1 Dec 2015 12:44:33 +0000 (14:44 +0200)]
Allow zero-length pong to be received by server
Client code already allows zero-length pongs
Andy Green [Sun, 29 Nov 2015 12:17:49 +0000 (20:17 +0800)]
osx clang blows up if pthreads flag at link time 2
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Sun, 29 Nov 2015 11:41:13 +0000 (19:41 +0800)]
osx clang blows up if pthreads flag at link time
Signed-off-by: Andy Green <andy.green@linaro.org>
Andrew Canaday [Sun, 29 Nov 2015 11:32:02 +0000 (19:32 +0800)]
Define 'daemonize' flag if LWS_NO_DAEMONIZE is not defined.
Andrew Canaday [Sun, 29 Nov 2015 11:26:01 +0000 (19:26 +0800)]
C89 tweaks as per #348.
Andrew Canaday [Sun, 29 Nov 2015 11:24:04 +0000 (19:24 +0800)]
Terminate truncated header strings.
Andy Green [Sun, 29 Nov 2015 11:19:09 +0000 (19:19 +0800)]
osx clang quench deprecated api errors
after approach by redhat
https://bugzilla.redhat.com/show_bug.cgi?id=1155181
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Sun, 29 Nov 2015 10:52:37 +0000 (18:52 +0800)]
issue 352 clang is like gcc for cmake purposes
After ohauer
https://github.com/warmcat/libwebsockets/issues/352
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Wed, 25 Nov 2015 04:46:08 +0000 (12:46 +0800)]
test server h add newline
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Wed, 25 Nov 2015 00:22:08 +0000 (08:22 +0800)]
mbed3 working examples
You need sal-stack-lwip > 1.0.4 with the listen fix
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Tue, 24 Nov 2015 07:53:05 +0000 (15:53 +0800)]
ssl treat WANT_READ and WRITE separately
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Tue, 24 Nov 2015 08:06:22 +0000 (16:06 +0800)]
clean out mbed3 lwip hacks
this upstream mbed patch on sal-stack-lwip sorts the listen probs
https://github.com/bremoran/sal-stack-lwip/commit/
a8adf15739cc65acf835ee4c21d5b72a6106195b.patch
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Fri, 20 Nov 2015 11:31:57 +0000 (19:31 +0800)]
http post zero content length
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Fri, 20 Nov 2015 10:52:48 +0000 (18:52 +0800)]
return AWAITING_TIMEOUT to 5s
Debugging MBED set it to 20 for a few days
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Fri, 20 Nov 2015 01:33:02 +0000 (09:33 +0800)]
test server pthreads
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Fri, 20 Nov 2015 01:51:18 +0000 (09:51 +0800)]
CALLBACK_LOCK_POLL use len to differentiate locking on pollfd change
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Thu, 19 Nov 2015 09:14:35 +0000 (17:14 +0800)]
windows crappy tools dont know __func__
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Thu, 19 Nov 2015 05:55:47 +0000 (13:55 +0800)]
refactor test server
Split test-server into four C files and a header
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Thu, 19 Nov 2015 00:43:51 +0000 (08:43 +0800)]
win remove piggybacked hack
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Wed, 18 Nov 2015 11:32:01 +0000 (19:32 +0800)]
proxy auth fix
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Wed, 18 Nov 2015 01:51:07 +0000 (09:51 +0800)]
windows eliminate duplicate POLLOUT
After "hotcookie" on github
https://github.com/warmcat/libwebsockets/issues/345
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Tue, 17 Nov 2015 01:30:36 +0000 (09:30 +0800)]
test echo initial delay
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Sun, 15 Nov 2015 02:28:45 +0000 (10:28 +0800)]
close actually close after send close ack
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Sun, 15 Nov 2015 01:24:25 +0000 (09:24 +0800)]
test html add open close buttons
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Sat, 14 Nov 2015 08:47:42 +0000 (16:47 +0800)]
README.build.md add mbed3 build info
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Sat, 14 Nov 2015 07:58:25 +0000 (15:58 +0800)]
update appveyor to get win openssl from own server
slproweb is down
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Sun, 8 Nov 2015 04:10:26 +0000 (12:10 +0800)]
mbed3 workable plus or minus mbed3 net stack bug
https://github.com/ARMmbed/sockets/issues/35
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Mon, 2 Nov 2015 12:34:12 +0000 (20:34 +0800)]
mbed3 plat
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Mon, 2 Nov 2015 05:10:33 +0000 (13:10 +0800)]
mbed3 warning cleaning
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Mon, 2 Nov 2015 05:13:44 +0000 (13:13 +0800)]
introduce lws_sockfd_type
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Mon, 2 Nov 2015 00:21:08 +0000 (08:21 +0800)]
mbed3 build support
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Mon, 2 Nov 2015 00:22:16 +0000 (08:22 +0800)]
mbed3 add yotta JSON
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Sat, 14 Nov 2015 05:48:58 +0000 (13:48 +0800)]
win use platform invalid socket api elsewhere too
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Fri, 13 Nov 2015 23:35:27 +0000 (07:35 +0800)]
win client use platform invalid socket
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Fri, 13 Nov 2015 23:02:38 +0000 (07:02 +0800)]
plat win be robust against NULL wsi_from_fd 3
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Fri, 13 Nov 2015 03:43:53 +0000 (11:43 +0800)]
plat win be robust against NULL wsi_from_fd 2
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Fri, 13 Nov 2015 02:14:50 +0000 (10:14 +0800)]
plat win be robust against NULL wsi_from_fd
After "haitetra"
https://github.com/warmcat/libwebsockets/issues/343
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Sun, 8 Nov 2015 20:24:46 +0000 (04:24 +0800)]
cmake force internal SHA1 if no ssl
https://github.com/warmcat/libwebsockets/issues/342
You have to explicitly disable LWS_WITHOUT_BUILTIN_SHA1 Cmake option
alomg with SSL to disable SSL
cmake .. -DLWS_WITH_SSL=OFF -DLWS_WITHOUT_BUILTIN_SHA1=OFF
This makes that implicit with disabling SSL.
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Sun, 8 Nov 2015 02:15:01 +0000 (10:15 +0800)]
proxy auth
Simplifies proxy code to use the existing libwebsocket_set_proxy.
Enables libwebsocket_set_proxy() to parse username:password@ at front of
servername in both http_proxy and info->http_proxy_address.
If given the base64 version of the credentials are sent in the CONNECT
header to the proxy.
Port is now taken from info->http_proxy_address server:port syntax, but if
a port is given in the now deprecated info->http_proxy_port (ie, is nonzero)
then it is allowed to be missed out and the info port used instead for
backwards compatibility.
Signed-off-by: Andy Green <andy.green@linaro.org>
Andrejs Hanins [Fri, 6 Nov 2015 16:18:32 +0000 (18:18 +0200)]
Subject: [PATCH] Fix for close ack sending
It was forgotten in two places that pending close ack should be
processed when wsi state is WSI_STATE_RETURNED_CLOSE_ALREADY, but
not WSI_STATE_ESTABLISHED. As a result, close ack wasn't sent out
to the peer.
Andy Green [Fri, 6 Nov 2015 00:23:05 +0000 (08:23 +0800)]
non ssl on ssl port zero recv ambiguous
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Fri, 30 Oct 2015 22:49:05 +0000 (06:49 +0800)]
non ssl on ssl port fixes
As found by 'github user 7'
https://github.com/warmcat/libwebsockets/issues/338
Signed-off-by: Andy Green <andy.green@linaro.org>
Joakim Söderberg [Thu, 29 Oct 2015 23:27:57 +0000 (00:27 +0100)]
Update README.build.md
Stephan Eberle [Fri, 23 Oct 2015 06:10:55 +0000 (08:10 +0200)]
Implemented fixes allowing libwebsockets to be built under Windows using MinGM/MSYS
Improvemed patches to address travis and appveyor build errors
Reduced WINVER and _WIN32_WINNT to 0x0501 to be less restrictive
Refined CMakeLists.txt to allow for normal Windows and MinGW-specific OpenSSL certificate generation
Simplified include path to gettimeofday.h
Removed unnecessary list(APPEND LWS_LIBRARIES zlib_internal) export
Added back #include <windows.h> to gettimeofday.c to fix build for normal Windows
Made sure that pollfd gets defined on libwebsockets side when _WIN32_WINNT < 0x0600
Made sure that WINVER and _WIN32_WINNT don't get overridden by libwebsockets headers when already set to something greater than 0x0501
Added missing declaration of WSAPoll function for WINVER < 0x0600 in libwebsockets.h, eliminated invalid usages of pollfd instead of libwebsocket_pollfd in test-server.c
Cleaned up duplicate content in gettimeofday.c, removed header inclusions from gettimeofday.h and fixed include order in test-echo.c, test-ping.c and test-server.c to enable build with normal Windows and MinGW
Re-enabled debug_level in test-echo.c and made sure that the call to lws_set_log_level() is also active under Windows (just like in test-server.c); replaced all WIN32 occurrences by _WIN32 in test-echo.c, test-ping.c, and test-server.c
Removed build-msys.sh and added new section about how to build libwebsockets using MinGW to README.build.md
Krishnaraj R Bhat [Wed, 28 Oct 2015 15:32:04 +0000 (21:02 +0530)]
Define getdtablesize() for android
getdtablesize() has been removed from headers since android-21.
Its value was 1024 in previous android api levels
Andy Green [Wed, 28 Oct 2015 11:50:41 +0000 (19:50 +0800)]
client only one error callback
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Wed, 28 Oct 2015 00:55:01 +0000 (08:55 +0800)]
update appveyor status decal url
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Wed, 28 Oct 2015 00:39:09 +0000 (08:39 +0800)]
release v1.5
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Mon, 26 Oct 2015 23:07:14 +0000 (07:07 +0800)]
keepalive close file when send completes dont wait for wsi close processing
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Thu, 22 Oct 2015 12:19:21 +0000 (20:19 +0800)]
check errno for ssl non ssl
After thomgree
https://github.com/warmcat/libwebsockets/issues/313
Signed-off-by: Andy Green <andy.green@linaro.org>
Alexander Lukichev [Tue, 20 Oct 2015 10:10:33 +0000 (13:10 +0300)]
Make LWS_SEND_BUFFER_PRE_PADDING preprocessor if-friendly
Commit
173e9c4e made LWS_SEND_BUFFER_SIZE a multiple of a certain
value returned by _LWS_PAD_SIZE macro. This macro expanded to
"sizeof(void *)" on non-x86_64 architectures, which made it
unsuitable to use LWS_SEND_BUFFER_SIZE in preprocessor #if
expressions in the library user code.
This patch preserves the padding logic since commit
173e9c4e but
makes it more preprocessor-friendly for applications using
libwebsockets by setting _LWS_PAD_SIZE to the size of "void *"
determined by cmake when libwebsockets is configured for the
target platform.
Signed-off-by: Alexander Lukichev <alexander.lukichev@gmail.com>
Andy Green [Wed, 21 Oct 2015 01:23:21 +0000 (09:23 +0800)]
qualify server specific api with LWS_NO_SERVER
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Wed, 21 Oct 2015 00:16:34 +0000 (08:16 +0800)]
keepalive fix flow now forced closed removed
Since
0d89f3cbed69a86251e6ed791c57e99a7f59c8d9 added recently,
http1.1 keepalive tries to actually keep alive.
Some updates are needed to keepalive flow to solve problems coming from
changes that were hidden until now by keepalive basically closing until
recently. It's not very noticable since clients will retry as close is
the default 1.0 behaviour... anyway this lets me do
wget http://localhost:7681/test.html http://localhost:7681/test.html
using keepalive correctly on the test server.
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Tue, 20 Oct 2015 04:24:00 +0000 (12:24 +0800)]
document context create cannot execute in parallel
Reported by Ash 20001 <ash20001@hotmail.com>
Signed-off-by: Andy Green <andy.green@linaro.org>
Ash 20001 [Tue, 20 Oct 2015 04:12:12 +0000 (12:12 +0800)]
detect http1 close connection header properly
Andy Green [Sun, 18 Oct 2015 10:47:37 +0000 (18:47 +0800)]
correct error handling path in client handshake
After Vikas Gahlan
http://ml.libwebsockets.org/pipermail/libwebsockets/2015-October/001955.html
Signed-off-by: Andy Green <andy.green@linaro.org>
Joakim Söderberg [Fri, 16 Oct 2015 19:07:38 +0000 (21:07 +0200)]
Ignore cmake build/ directory
Andy Green [Fri, 16 Oct 2015 03:39:23 +0000 (11:39 +0800)]
if ssl and non ssl allowed insist to wait for something to discriminate by
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Fri, 16 Oct 2015 03:07:52 +0000 (11:07 +0800)]
attempt to get correct close flow banning writeable cb when closing
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Fri, 16 Oct 2015 02:54:04 +0000 (10:54 +0800)]
complain if zero ka_interval used with positive ka_time
https://github.com/warmcat/libwebsockets/issues/308
Signed-off-by: Andy Green <andy.green@linaro.org>
Andrejs Hanins [Thu, 15 Oct 2015 10:02:03 +0000 (13:02 +0300)]
Fix getaddrinfo memory leak
Mark Likness [Thu, 15 Oct 2015 13:21:06 +0000 (21:21 +0800)]
allow EAGAIN and friends on straight read
Stepan Vondrak [Thu, 15 Oct 2015 13:05:54 +0000 (21:05 +0800)]
fix missing parenthesis protection
Peter Pentchev [Thu, 1 Oct 2015 09:25:05 +0000 (12:25 +0300)]
Fix some typographical and grammatical errors
Peter Pentchev [Thu, 1 Oct 2015 09:17:07 +0000 (12:17 +0300)]
Use bash as a script interpreter
The test-server/attack.sh script makes use of several features only
available in the Bash shell, so mark it accordingly.
Andy Green [Thu, 15 Oct 2015 03:20:40 +0000 (11:20 +0800)]
LWS_WITHOUT_BUILTIN_SHA1
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Thu, 15 Oct 2015 01:12:58 +0000 (09:12 +0800)]
LWS_SERVER_OPTION_PEER_CERT_NOT_REQUIRED
Requested by Bruce Perens
http://ml.libwebsockets.org/pipermail/libwebsockets/2015-June/001834.html
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Thu, 15 Oct 2015 01:00:31 +0000 (09:00 +0800)]
ssl set session id context
Via Bruce Perens
http://ml.libwebsockets.org/pipermail/libwebsockets/2015-June/001833.html
Signed-off-by: Andy Green <andy.green@linaro.org>
Bruce Perens [Thu, 15 Oct 2015 00:46:29 +0000 (08:46 +0800)]
remove O3 if cmake debug build
Andy Green [Thu, 15 Oct 2015 00:34:21 +0000 (08:34 +0800)]
avoid changing wrong revents if connection closed
As reported by Bruce Perens
http://ml.libwebsockets.org/pipermail/libwebsockets/2015-May/001814.html
Signed-off-by: Andy Green <andy.green@linaro.org>
Andy Green [Wed, 14 Oct 2015 23:39:33 +0000 (07:39 +0800)]
improve callback close checking
Signed-off-by: Andy Green <andy.green@linaro.org>