| ... | ... |
@@ -237,31 +237,6 @@ void do_send() |
| 237 | 237 |
} |
| 238 | 238 |
} |
| 239 | 239 |
|
| 240 |
-void do_exechk(mcomm *c){
|
|
| 241 |
- int i; |
|
| 242 |
- mfile *m; |
|
| 243 |
- for(i=0;i<MAX_COMM;i++){
|
|
| 244 |
- if(c[i].working){
|
|
| 245 |
- if(c[i].isalive){
|
|
| 246 |
- if(mtimeout(&(c[i].tv), (uint32_t)1000)){
|
|
| 247 |
- cprintf(0, &(c[i]), "alive\n"); |
|
| 248 |
- mtimeget(&(c[i].tv)); |
|
| 249 |
- } |
|
| 250 |
- } |
|
| 251 |
- if((c[i].cpid == 0) && (c[i].fd[1] == -1)){
|
|
| 252 |
- for(m=mftop[MFSEND];m;m=m->next){
|
|
| 253 |
- if(m->comm == &c[i]){
|
|
| 254 |
- break; /* working */ |
|
| 255 |
- } |
|
| 256 |
- } |
|
| 257 |
- if(!m){
|
|
| 258 |
- workend(&c[i]); |
|
| 259 |
- } |
|
| 260 |
- } |
|
| 261 |
- } |
|
| 262 |
- } |
|
| 263 |
-} |
|
| 264 |
- |
|
| 265 | 240 |
int do_accept(mcomm *c, fd_set *fds) |
| 266 | 241 |
{
|
| 267 | 242 |
int i; |
| ... | ... |
@@ -317,6 +292,31 @@ int do_comexe(mcomm *c, fd_set *fds){
|
| 317 | 317 |
return(0); |
| 318 | 318 |
} |
| 319 | 319 |
|
| 320 |
+void do_exechk(mcomm *c){
|
|
| 321 |
+ int i; |
|
| 322 |
+ mfile *m; |
|
| 323 |
+ for(i=0;i<MAX_COMM;i++){
|
|
| 324 |
+ if(c[i].working){
|
|
| 325 |
+ if(c[i].isalive){
|
|
| 326 |
+ if(mtimeout(&(c[i].tv), (uint32_t)1000)){
|
|
| 327 |
+ cprintf(0, &(c[i]), "alive\n"); |
|
| 328 |
+ mtimeget(&(c[i].tv)); |
|
| 329 |
+ } |
|
| 330 |
+ } |
|
| 331 |
+ if((c[i].cpid == 0) && (c[i].fd[1] == -1)){
|
|
| 332 |
+ for(m=mftop[MFSEND];m;m=m->next){
|
|
| 333 |
+ if(m->comm == &c[i]){
|
|
| 334 |
+ break; /* working */ |
|
| 335 |
+ } |
|
| 336 |
+ } |
|
| 337 |
+ if(!m){
|
|
| 338 |
+ workend(&c[i]); |
|
| 339 |
+ } |
|
| 340 |
+ } |
|
| 341 |
+ } |
|
| 342 |
+ } |
|
| 343 |
+} |
|
| 344 |
+ |
|
| 320 | 345 |
void mloop() |
| 321 | 346 |
{
|
| 322 | 347 |
fd_set rfds; |
| ... | ... |
@@ -242,7 +242,7 @@ int mexec_scan(mcomm *c, char *fn, mhost *h, int mode, gid_t gid) |
| 242 | 242 |
close(p[1]); |
| 243 | 243 |
c->cpid = pid; |
| 244 | 244 |
c->fd[1] = p[0]; |
| 245 |
- lprintf(9, " %d: open\n", c->no); |
|
| 245 |
+ lprintf(9, "%d$ (connect)\n", c->no); |
|
| 246 | 246 |
return(0); |
| 247 | 247 |
}else{
|
| 248 | 248 |
/* child */ |
| ... | ... |
@@ -257,13 +257,13 @@ int mexec_scan(mcomm *c, char *fn, mhost *h, int mode, gid_t gid) |
| 257 | 257 |
int mexec_open(int l, mcomm *c, int n) |
| 258 | 258 |
{
|
| 259 | 259 |
if(n){
|
| 260 |
- lprintf(9, " %d> %s\n", c->no, c->cmdline[n]); |
|
| 260 |
+ lprintf(9, "%d$ %s\n", c->no, c->cmdline[n]); |
|
| 261 | 261 |
return(0); |
| 262 | 262 |
} |
| 263 | 263 |
if(c->logflag == 0){
|
| 264 | 264 |
if(l <= moption.loglevel){
|
| 265 | 265 |
lprintf(1, "======= separator =======\n"); |
| 266 |
- lprintf(1, "%d: open\n", c->no); |
|
| 266 |
+ lprintf(1, "%d> [connect]\n", c->no); |
|
| 267 | 267 |
c->logflag = 1; |
| 268 | 268 |
} |
| 269 | 269 |
} |
| ... | ... |
@@ -281,12 +281,13 @@ int mexec_close(mcomm *c, int n) |
| 281 | 281 |
if(c->fd[n] != -1){
|
| 282 | 282 |
close(c->fd[n]); |
| 283 | 283 |
if(n){
|
| 284 |
- lprintf(9, " %d: close\n", c->no); |
|
| 284 |
+ lprintf(9, "%d$ (disconnect)\n", c->no); |
|
| 285 | 285 |
}else{
|
| 286 | 286 |
if(c->logflag){
|
| 287 | 287 |
lprintf(1, "-------------------------\n"); |
| 288 |
- lprintf(1, "%d: close\n", c->no); |
|
| 288 |
+ lprintf(1, "%d> [disconnect]\n", c->no); |
|
| 289 | 289 |
} |
| 290 |
+ lprintf(5, "%s: socket=%d\n", __func__, c->no); |
|
| 290 | 291 |
} |
| 291 | 292 |
} |
| 292 | 293 |
c->fd[n] = -1; |
| ... | ... |
@@ -524,11 +525,12 @@ int mexec_send(mcomm *c, int n, int sync) |
| 524 | 524 |
/*----- chgrp -----*/ |
| 525 | 525 |
if((m->dryrun == 0) && (gid != -1)){
|
| 526 | 526 |
if(m->fs.st_gid != gid){
|
| 527 |
- if(lchown(m->fn, -1, gid) == -1){
|
|
| 528 |
- cprintf(0, c, "error: can't chgrp (%s) [%d->%d] %s\n", strerror(errno), m->fs.st_gid, gid, m->fn); |
|
| 529 |
- lprintf(0, "[error] %s: can't chgrp (%s) [%d->%d] %s\n", __func__, strerror(errno), m->fs.st_gid, gid, m->fn); |
|
| 530 |
- }else{
|
|
| 527 |
+ if(!lchown(m->fn, -1, gid)){
|
|
| 531 | 528 |
m->fs.st_gid = gid; |
| 529 |
+ }else{
|
|
| 530 |
+ e = errno; |
|
| 531 |
+ cprintf(0, c, "error: can't chgrp (%s) [%d->%d] %s\n", strerror(e), m->fs.st_gid, gid, m->fn); |
|
| 532 |
+ lprintf(0, "[error] %s: can't chgrp (%s) [%d->%d] %s\n", __func__, strerror(e), m->fs.st_gid, gid, m->fn); |
|
| 532 | 533 |
} |
| 533 | 534 |
} |
| 534 | 535 |
} |