Changeset: e36433e4dece for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=e36433e4dece
Modified Files:
        monetdb5/modules/mal/mal_mapi.c
        sql/storage/store.c
Branch: oscar
Log Message:

Merge with Jun2020 branch.


diffs (61 lines):

diff --git a/gdk/gdk_hash.c b/gdk/gdk_hash.c
--- a/gdk/gdk_hash.c
+++ b/gdk/gdk_hash.c
@@ -682,8 +682,7 @@ BAThashsync(void *arg)
 #define finishhash(TYPE)                                               \
        do {                                                            \
                const TYPE *restrict v = (const TYPE *) BUNtloc(bi, 0); \
-               for (; p < ci->ncand; p++) {                                    
\
-                       c = hash_##TYPE(h, v + o - b->hseqbase);        \
+               for (; p < ci->ncand; p++) {                            \
                        c = hash_##TYPE(h, v + o - b->hseqbase);        \
                        hget = HASHget(h, c);                           \
                        h->nheads += hget == hnil;                      \
diff --git a/monetdb5/modules/mal/mal_mapi.c b/monetdb5/modules/mal/mal_mapi.c
--- a/monetdb5/modules/mal/mal_mapi.c
+++ b/monetdb5/modules/mal/mal_mapi.c
@@ -625,21 +625,23 @@ SERVERlisten(int port, const char *usock
                                        if (setsockopt(sock, SOL_SOCKET, 
SO_REUSEADDR, (char *) &on, sizeof on) == SOCKET_ERROR) {
                                                e = errno;
                                                closesocket(sock);
+                                               sock = INVALID_SOCKET;
                                                continue;
                                        }
 
                                        bind_check = bind(sock, (SOCKPTR) 
rp->ai_addr, (socklen_t) rp->ai_addrlen);
-                                       e = errno;
                                        if (bind_check == SOCKET_ERROR) {
+                                               e = errno;
                                                closesocket(sock);
+                                               sock = INVALID_SOCKET;
                                                continue;
-                                       } else
-                                               break;
+                                       }
+                                       break;
                                }
                                if (result)
                                        freeaddrinfo(result);
                                errno = e;
-                               if (errno == 0 && sock != INVALID_SOCKET)
+                               if (sock != INVALID_SOCKET)
                                        break;
 
                                if (port > 65535) {
diff --git a/sql/storage/store.c b/sql/storage/store.c
--- a/sql/storage/store.c
+++ b/sql/storage/store.c
@@ -2369,10 +2369,12 @@ store_manager(void)
        // In the main loop we always hold the lock except when sleeping
        MT_lock_set(&bs_lock);
 
-       while (!GDKexiting()) {
+       for (;;) {
                int res;
 
                if (!flusher_should_run()) {
+                       if (GDKexiting())
+                               break;
                        const int sleeptime = 100;
                        MT_lock_unset(&bs_lock);
                        MT_sleep_ms(sleeptime);
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to