X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=vss.c;h=10780cbffe1a9026e1729423c0e98bfe1dddeabd;hp=9346d2095631102cba82b5968f2740b630f87fb7;hb=96c5cc23d6d1e8ecfb6eacee7eaf19efe51e89bc;hpb=11f3700b4d2e932a31f953e1590ad5d64d1aa2d6 diff --git a/vss.c b/vss.c index 9346d209..10780cbf 100644 --- a/vss.c +++ b/vss.c @@ -740,7 +740,6 @@ static void recv_afs_result(struct vss_task *vsst) struct stat statbuf; vsst->afsss = AFS_SOCKET_READY; - mmd->afd.afhi.chunk_table = NULL; ret = recv_afs_msg(vsst->afs_socket, &passed_fd, &afs_code, &afs_data); if (ret < 0) goto err; @@ -752,6 +751,7 @@ static void recv_afs_result(struct vss_task *vsst) if (passed_fd < 0) goto err; shmid = afs_data; + free(mmd->afd.afhi.info_string); ret = load_afd(shmid, &mmd->afd); if (ret < 0) goto err; @@ -877,7 +877,10 @@ static void vss_post_select(struct sched *s, struct task *t) } else if (FD_ISSET(vsst->afs_socket, &s->wfds)) { PARA_NOTICE_LOG("requesting new fd from afs\n"); ret = send_buffer(vsst->afs_socket, "new"); - vsst->afsss = AFS_SOCKET_AFD_PENDING; + if (ret < 0) + PARA_CRIT_LOG("%s\n", para_strerror(-ret)); + else + vsst->afsss = AFS_SOCKET_AFD_PENDING; } for (i = 0; senders[i].name; i++) { if (!senders[i].post_select)