… | |
… | |
154 | |
154 | |
155 | static int |
155 | static int |
156 | our_close (Vio *vio) |
156 | our_close (Vio *vio) |
157 | { |
157 | { |
158 | ourdata *our = OURDATAPTR; |
158 | ourdata *our = OURDATAPTR; |
|
|
159 | printf ("close()\n");//D |
159 | |
160 | |
160 | if (vio->read != our_read) |
161 | if (vio->read != our_read) |
161 | croak ("vio.read has unexpected content during unpatch - wtf?"); |
162 | croak ("vio.read has unexpected content during unpatch - wtf?"); |
162 | |
163 | |
163 | if (vio->write != our_write) |
164 | if (vio->write != our_write) |
… | |
… | |
179 | |
180 | |
180 | #if DESC_IS_PTR |
181 | #if DESC_IS_PTR |
181 | vio->desc = our->old_desc; |
182 | vio->desc = our->old_desc; |
182 | #endif |
183 | #endif |
183 | |
184 | |
184 | Safefree (our); |
|
|
185 | |
|
|
186 | vio->vioclose = our->old_vioclose; |
185 | vio->vioclose = our->old_vioclose; |
187 | vio->write = our->old_write; |
186 | vio->write = our->old_write; |
188 | vio->read = our->old_read; |
187 | vio->read = our->old_read; |
|
|
188 | |
|
|
189 | Safefree (our); |
189 | |
190 | |
190 | vio->vioclose (vio); |
191 | vio->vioclose (vio); |
191 | } |
192 | } |
192 | |
193 | |
193 | #if HAVE_EV |
194 | #if HAVE_EV |