diff --git a/src/builder/b-task.c b/src/builder/b-task.c
index 4fb6c23..77cab79 100644
--- a/src/builder/b-task.c
+++ b/src/builder/b-task.c
@@ -42,24 +42,24 @@ const char *git_helper_sh =
" MIRROR_PATH=\"$HOME/git-mirror/$4\"\n"
" mkdir -p \"$HOME/git-mirror\"\n"
" for i in $(seq 1 60); do\n"
- " if [ -d \"$MIRROR_PATH/.git\" ]; then\n"
- " if git -C \"$MIRROR_PATH\" rev-parse -q --verify \"ref-$HASH\" > /dev/null; then\n"
+ " if [ -d \"$MIRROR_PATH\" ]; then\n"
+ " if git -C \"$MIRROR_PATH\" rev-parse -q --verify \"ref-$HASH\" > /dev/null 2>&1; then\n"
" exit 0\n"
" fi\n"
" fi\n"
" if mkdir \"$MIRROR_PATH.lock\" 2>/dev/null; then\n"
" trap 'rm -rf \"$MIRROR_PATH.lock\"' EXIT\n"
- " if [ -d \"$MIRROR_PATH/.git\" ]; then\n"
- " if git -C \"$MIRROR_PATH\" rev-parse -q --verify \"ref-$HASH\" > /dev/null; then\n"
+ " if [ -d \"$MIRROR_PATH\" ]; then\n"
+ " if git -C \"$MIRROR_PATH\" rev-parse -q --verify \"ref-$HASH\" > /dev/null 2>&1; then\n"
" exit 0\n"
" fi\n"
" fi\n"
" mkdir -p \"$MIRROR_PATH\"\n"
- " if [ ! -d \"$MIRROR_PATH/.git\" ]; then\n"
+ " if [ ! -f \"$MIRROR_PATH/HEAD\" ]; then\n"
" git init --bare \"$MIRROR_PATH\"\n"
" fi\n"
" REFSPEC=\"$REF:ref-$HASH\"\n"
- " git -C \"$MIRROR_PATH\" fetch \"$REMOTE_URL\" \"+$REFSPEC\"\n"
+ " git -C \"$MIRROR_PATH\" fetch -q \"$REMOTE_URL\" \"+$REFSPEC\"\n"
" exit 0\n"
" fi\n"
" echo \"git mirror locked, waiting...\"\n"
@@ -110,9 +110,9 @@ const char *git_helper_bat =
" ping -n 2 127.0.0.1 >nul\n"
" goto :lock_wait\n"
" )\n"
- " if exist \"!MIRROR_PATH!\\\\.git\" (\n"
+ " if exist \"!MIRROR_PATH!\\\\.\" (\n"
" git -C \"!MIRROR_PATH!\" rev-parse -q --verify \"ref-!HASH!\" > nul 2> nul\n"
- " if exist !MIRROR_PATH!\\\\.git if not errorlevel 1 (\n"
+ " if not errorlevel 1 (\n"
" rmdir \"!MIRROR_PATH!.lock\"\n"
" exit /b 0\n"
" )\n"
@@ -120,7 +120,7 @@ const char *git_helper_bat =
" if not exist \"!MIRROR_PATH!\\\\.\" (\n"
" mkdir \"!MIRROR_PATH!\"\n"
" )\n"
- " if not exist \"!MIRROR_PATH!\\\\.git\" (\n"
+ " if not exist \"!MIRROR_PATH!\\\\HEAD\" (\n"
" git init --bare \"!MIRROR_PATH!\"\n"
" if errorlevel 1 (\n"
" rmdir \"!MIRROR_PATH!.lock\"\n"
diff --git a/src/builder/b-ws-server.c b/src/builder/b-ws-server.c
index 43f1623..d85aa7e 100644
--- a/src/builder/b-ws-server.c
+++ b/src/builder/b-ws-server.c
@@ -83,7 +83,7 @@ saib_srv_queue_tx(struct lws_ss_handle *h, void *buf, size_t len,
struct sai_plat_server *spm = (struct sai_plat_server *)lws_ss_to_user_object(h);
unsigned int *pi = (unsigned int *)((const char *)buf - sizeof(int));
- lwsl_notice("%s: queuing %d bytes to server\n", __func__, (int)len);
+ lwsl_info("%s: queuing %d bytes to server\n", __func__, (int)len);
*pi = ss_flags;
@@ -425,10 +425,13 @@ saib_m_tx(void *userobj, lws_ss_tx_ordinal_t ord, uint8_t *buf, size_t *len,
if (used < fsl || !(spm->tx_flags & LWSSS_FLAG_EOM))
final = 0;
- if (!used && !som && !final && fsl > 0)
- return LWSSSSRET_TX_DONT_SEND;
+ if (!used && !som && !final && fsl > 0) {
+ if (lws_ss_request_tx(spm->ss))
+ return LWSSSSRET_DISCONNECT_ME;
+ return LWSSSSRET_OK;
+ }
- lwsl_notice("%s: sending %d bytes to server (fsl %d, len %d, flags 0x%x)\n", __func__, (int)used, (int)fsl, (int)*len, spm->tx_flags);
+ lwsl_info("%s: sending %d bytes to server (fsl %d, len %d, flags 0x%x)\n", __func__, (int)used, (int)fsl, (int)*len, spm->tx_flags);
*len = used;
*flags = (som ? LWSSS_FLAG_SOM : 0) | (final ? LWSSS_FLAG_EOM : 0);