… | |
… | |
116 | # delete a player directory, be non-blocking AND synchronous... |
116 | # delete a player directory, be non-blocking AND synchronous... |
117 | # (thats hard, so we crap out and fork). |
117 | # (thats hard, so we crap out and fork). |
118 | sub nuke_playerdir { |
118 | sub nuke_playerdir { |
119 | my ($user) = @_; |
119 | my ($user) = @_; |
120 | |
120 | |
121 | aio_rename "$PLAYERDIR/$user", "$PLAYERDIR/~$Coro::current~deleting~"; |
|
|
122 | system "rm -rf \Q$PLAYERDIR/~$Coro::current~deleting~\E &"; |
121 | my $temp = "$PLAYERDIR/~$Coro::current~deleting~"; |
|
|
122 | |
|
|
123 | cf::fork_call { |
|
|
124 | rename "$PLAYERDIR/$user", $temp; |
|
|
125 | system "rm", "-rf", $temp; |
|
|
126 | }; |
123 | } |
127 | } |
124 | |
128 | |
125 | cf::client->attach (on_addme => sub { |
129 | cf::client->attach (on_addme => sub { |
126 | my ($ns) = @_; |
130 | my ($ns) = @_; |
127 | |
131 | |