pecl-event / package.xml

Ruslan Osmanov 7da9ee6 





Ruslan Osmanov 3796ba5 








Ruslan Osmanov 7da9ee6 






Ruslan Osmanov 3e9136c 
Ruslan Osmanov 7da9ee6 

Ruslan Osmanov 3e9136c 
Ruslan Osmanov 3b9a125 
Ruslan Osmanov 7da9ee6 

Ruslan Osmanov c4e69f6 

Ruslan Osmanov 7da9ee6 


Ruslan Osmanov 3e9136c 
Ruslan Osmanov 7da9ee6 






Ruslan Osmanov c0c359e 
Ruslan Osmanov 522e2fb 
Ruslan Osmanov c0c359e 
Ruslan Osmanov 7da9ee6 
Ruslan Osmanov c0c359e 
Ruslan Osmanov 7da9ee6 
Ruslan Osmanov c0c359e 








Ruslan Osmanov 89831bf 
Ruslan Osmanov c0c359e 
Ruslan Osmanov 89831bf 
Ruslan Osmanov c0c359e 
Ruslan Osmanov 783febf 
Ruslan Osmanov 3c3bc2d 
Ruslan Osmanov c0c359e 


Ruslan Osmanov 4e02a9d 

Ruslan Osmanov 44a561e 
Ruslan Osmanov 4e02a9d 
Ruslan Osmanov c0c359e 

Ruslan Osmanov ee4a015 
Ruslan Osmanov 3754ed1 



Ruslan Osmanov c0c359e 




Ruslan Osmanov 838e663 
Ruslan Osmanov c0c359e 











Ruslan Osmanov 7da9ee6 



Ruslan Osmanov c0c359e 
Ruslan Osmanov 89831bf 

Ruslan Osmanov 1c015d2 
Ruslan Osmanov 0568551 
Ruslan Osmanov 8b85a8b 
Ruslan Osmanov 02864a8 
Ruslan Osmanov e0c7427 
Ruslan Osmanov 3e9136c 
Ruslan Osmanov 7da9ee6 
















Ruslan Osmanov fa85210 
Ruslan Osmanov 4a687d1 
Ruslan Osmanov 7da9ee6 
Ruslan Osmanov 3c3bc2d 
Ruslan Osmanov db2f90f 
Ruslan Osmanov 7da9ee6 


Ruslan Osmanov 3e9136c 















Ruslan Osmanov e0c7427 
Ruslan Osmanov 7da635c 










Ruslan Osmanov 63c0333 
Ruslan Osmanov e0c7427 
Ruslan Osmanov 7da635c 


Ruslan Osmanov e01f0bf 













Ruslan Osmanov 5066112 
Ruslan Osmanov 295ce6d 
Ruslan Osmanov e01f0bf 


Ruslan Osmanov 8b85a8b 












Ruslan Osmanov 02864a8 

Ruslan Osmanov 8b85a8b 


Ruslan Osmanov 3b9a125 



















Ruslan Osmanov 522e2fb 












Ruslan Osmanov 90d156c 
Ruslan Osmanov 4c8526d 
Ruslan Osmanov 522e2fb 


Ruslan Osmanov 8e56a15 

















Ruslan Osmanov 653b9bf 
Ruslan Osmanov b8a8902 

Ruslan Osmanov 653b9bf 
Ruslan Osmanov 31ea180 
Ruslan Osmanov b8a8902 







Ruslan Osmanov 20130fd 

Ruslan Osmanov 653b9bf 
Ruslan Osmanov 31ea180 
Ruslan Osmanov e654a8b 
Ruslan Osmanov 3ca05da 

Ruslan Osmanov f4890d4 
Ruslan Osmanov 18975bc 




Ruslan Osmanov b8a8902 


Ruslan Osmanov 0568551 












Ruslan Osmanov 2d6f4f6 
Ruslan Osmanov 4f1057b 
Ruslan Osmanov 0568551 


Ruslan Osmanov c4e69f6 
Ruslan Osmanov 466c495 

Ruslan Osmanov 52a846b 

Ruslan Osmanov 466c495 

Ruslan Osmanov c4e69f6 

Ruslan Osmanov 466c495 



Ruslan Osmanov 52a846b 
Ruslan Osmanov ad18336 
Ruslan Osmanov a1d2b59 
Ruslan Osmanov c4e69f6 
Ruslan Osmanov 1c015d2 

Ruslan Osmanov 466c495 

Ruslan Osmanov ad18336 
Ruslan Osmanov 89831bf 











Ruslan Osmanov f751555 












Ruslan Osmanov 89831bf 

Ruslan Osmanov cb2d30c 
Ruslan Osmanov 9f6665c 

Ruslan Osmanov cb2d30c 
Ruslan Osmanov 61ea0f2 
Ruslan Osmanov 9f6665c 






Ruslan Osmanov f751555 








Ruslan Osmanov 9f6665c 


Ruslan Osmanov 02818c6 
Ruslan Osmanov 117626f 


Ruslan Osmanov 02818c6 
Ruslan Osmanov 117626f 

Ruslan Osmanov 02818c6 

Ruslan Osmanov 117626f 



Ruslan Osmanov fac085d 

Ruslan Osmanov 608d32c 
Ruslan Osmanov 45f1100 
Ruslan Osmanov b0c0e96 
Ruslan Osmanov 608d32c 
Ruslan Osmanov 117626f 


Ruslan Osmanov 3796ba5 











Ruslan Osmanov 7438597 
Ruslan Osmanov a4a7ba6 

Ruslan Osmanov cb036d7 
Ruslan Osmanov 0f78f9d 
Ruslan Osmanov 3796ba5 











Ruslan Osmanov 8be3465 
Ruslan Osmanov ff6e34b 
Ruslan Osmanov 8be3465 
Ruslan Osmanov 3796ba5 
Ruslan Osmanov c4b43f9 
Ruslan Osmanov fa85210 

Ruslan Osmanov c4b43f9 
Ruslan Osmanov fa85210 








Ruslan Osmanov c4b43f9 
Ruslan Osmanov fa85210 














Ruslan Osmanov cbad717 

Ruslan Osmanov dca6f13 



Ruslan Osmanov 885c29e 

Ruslan Osmanov d64bc28 
Ruslan Osmanov fa85210 

Ruslan Osmanov c6c03ee 
















Ruslan Osmanov c0c359e 














Ruslan Osmanov c6c03ee 
Ruslan Osmanov c0c359e 
















Ruslan Osmanov c6c03ee 
Ruslan Osmanov f6541c6 











Ruslan Osmanov 3796ba5 
Ruslan Osmanov f6541c6 

Ruslan Osmanov 7da9ee6 
Ruslan Osmanov 3796ba5 








































Ruslan Osmanov 7da9ee6 


  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
<?xml version="1.0"?>
<package xmlns="http://pear.php.net/dtd/package-2.0" xmlns:tasks="http://pear.php.net/dtd/tasks-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.0" xsi:schemaLocation="http://pear.php.net/dtd/tasks-1.0 http://pear.php.net/dtd/tasks-1.0.xsd http://pear.php.net/dtd/package-2.0 http://pear.php.net/dtd/package-2.0.xsd">
  <name>event</name>
  <channel>pecl.php.net</channel>
  <summary>Provides interface to libevent library</summary>
  <description>
  This is an extension to efficiently schedule I/O, time and signal based
  events using the best I/O notification mechanism available for specific platform.
  This is a port of libevent to the PHP infrastructure.
  
  Version 1.0.0 introduces:
  * new OO API breaking backwards compatibility
  * support of libevent 2+ including HTTP, DNS, OpenSSL and the event listener.

  Note, event-1.0.0 and greater is not compatible with previous versions.
  </description>
  <lead>
    <name>Ruslan Osmanov</name>
    <user>osmanov</user>
    <email>osmanov@php.net</email>
    <active>yes</active>
  </lead>
  <date>2013-08-14</date>
  <!--{{{ Current version -->
  <version>
    <release>1.7.4</release>
    <api>1.7.0</api>
  </version>
  <stability>
    <release>stable</release>
    <api>stable</api>
  </stability>
  <license uri="http://www.php.net/license">PHP</license>
  <notes><![CDATA[
  Fix: Segmentation fault caused by direct access to the zend object properties' hash table
  ]]></notes>
  <!--}}}-->
  <!--{{{ Contents -->
  <contents>
    <dir name="/">
      <file role="doc" name="CREDITS"/>
      <file role="doc" name="EXPERIMENTAL"/>
      <file role="doc" name="INSTALL.md"/>
      <file role="doc" name="LICENSE"/>
      <file role="doc" name="README.md"/>
      <file role="src" name="config.m4"/>
      <file role="src" name="php_event.c"/>
      <file role="src" name="php_event.h"/>
      <dir name="classes">
        <file role="src" name="base.c"/>
        <file role="src" name="buffer.c"/>
        <file role="src" name="buffer_event.c"/>
        <file role="src" name="dns.c"/>
        <file role="src" name="event.c"/>
        <file role="src" name="event_config.c"/>
        <file role="src" name="event_util.c"/>
        <file role="src" name="http.c"/>
        <file role="src" name="http.h"/>
        <file role="src" name="http_connection.c"/>
        <file role="src" name="http_request.c"/>
        <file role="src" name="listener.c"/>
        <file role="src" name="ssl_context.h"/>
        <file role="src" name="ssl_context.c"/>
      </dir>
      <dir name="examples">
        <file role="doc" name="buffer_proxy.php"/>
        <dir name="ssl-echo-server">
          <file role="doc" name="server.php"/>
          <file role="doc" name="client.php"/>
        </dir>
        <file role="doc" name="eio.php"/>
        <file role="doc" name="fibonacci_buffer.php"/>
        <file role="doc" name="http.php"/>
        <file role="doc" name="http_accept.php"/>
        <file role="doc" name="http_alias.php"/>
        <file role="doc" name="http_bind.php"/>
        <file role="doc" name="http_request.php"/>
        <file role="doc" name="httpv0client.php"/>
        <file role="doc" name="httpv0client2.php"/>
        <file role="doc" name="listener.php"/>
        <file role="doc" name="misc.php"/>
        <file role="doc" name="signal.php"/>
        <file role="doc" name="timer.php"/>
        <file role="doc" name="uppercase_proxy.php"/>
      </dir>
      <dir name="src">
        <file role="src" name="common.h"/>
        <file role="src" name="fe.c"/>
        <file role="src" name="fe.h"/>
        <file role="src" name="pe.c"/>
        <file role="src" name="priv.h"/>
        <file role="src" name="structs.h"/>
        <file role="src" name="util.c"/>
        <file role="src" name="util.h"/>
      </dir>
      <dir name="tests">
        <file role="src" name="01-load.phpt"/>
        <file role="src" name="02-features.phpt"/>
        <file role="src" name="03-event-del.phpt"/>
        <file role="src" name="04-bevent-socket.phpt"/>
        <file role="src" name="05-buffer-pos.phpt"/>
        <file role="src" name="06-timer.phpt"/>
        <file role="src" name="07-listener-error.phpt"/>
        <file role="src" name="08-buffer.phpt"/>
        <file role="src" name="09-gc-cycles.phpt"/>
        <file role="src" name="10-event-data-dtor.phpt"/>
        <file role="src" name="11-gc-cycles.phpt"/>
        <file role="src" name="12-serialization.phpt"/>
      </dir>
    </dir>
  </contents>
  <!--}}}-->
  <dependencies>
    <required>
      <php>
        <min>5.4.0</min>
      </php>
      <pearinstaller>
        <min>1.4.0a1</min>
      </pearinstaller>
    </required>
  </dependencies>
  <providesextension>event</providesextension>
  <extsrcrelease>
    <configureoption default="no" name="enable-event-debug" prompt="Enable internal debugging in event"/>
    <configureoption default="/usr" name="with-event-libevent-dir" prompt="libevent installation prefix"/>
    <configureoption default="no" name="with-event-pthreads" prompt="Include libevent's pthreads library and enable thread safety support in event"/>
    <configureoption default="yes" name="with-event-extra" prompt="Include libevent protocol-specific functionality support including HTTP, DNS, and RPC"/>
    <configureoption default="yes" name="with-event-openssl" prompt="Include libevent OpenSSL support"/>
    <configureoption default="no" name="with-openssl-dir" prompt="openssl installation prefix"/>
  </extsrcrelease>
  <!--{{{ changelog-->
  <changelog>
    <!--{{{ 1.7.4 -->
    <release>
      <version>
        <release>1.7.4</release>
        <api>1.7.0</api>
      </version>
      <stability>
        <release>stable</release>
        <api>stable</api>
      </stability>
      <license uri="http://www.php.net/license">PHP</license>
      <notes><![CDATA[
  Fix: Segmentation fault caused by direct access to the zend object properties' hash table
  ]]></notes>
    </release>
    <!--}}}-->
    <!--{{{ 1.7.3 -->
    <release>
      <version>
        <release>1.7.3</release>
        <api>1.7.0</api>
      </version>
      <stability>
        <release>stable</release>
        <api>stable</api>
      </stability>
      <license uri="http://www.php.net/license">PHP</license>
      <notes><![CDATA[
  Fix: in php_event.c write_property function was non-static
  Fix: absence of get_gc property handler caused segfaults with gc_collect_cycles()
  ]]></notes>
    </release>
    <!--}}}-->
    <!--{{{ 1.7.2 -->
    <release>
      <version>
        <release>1.7.2</release>
        <api>1.7.0</api>
      </version>
      <stability>
        <release>stable</release>
        <api>stable</api>
      </stability>
      <license uri="http://www.php.net/license">PHP</license>
      <notes><![CDATA[
  Fix: bug #65320 where we got build errors in attempts to compile event statically(thanks to florin)
  Fix: bug #65319 where config.m4 used <php_version.h> to detect current PHP version
  Fix: config.m4 included -levent_pthreads into LDFLAGS even --without-event-pthreads configuration
  Fix: evthread_use_pthreads() call skept due to a "macro magic"(PHP_EVENT_ASSERT)
  ]]></notes>
    </release>
    <!--}}}-->
    <!--{{{ 1.7.1 -->
    <release>
      <version>
        <release>1.7.1</release>
        <api>1.7.0</api>
      </version>
      <stability>
        <release>stable</release>
        <api>stable</api>
      </stability>
      <license uri="http://www.php.net/license">PHP</license>
      <notes><![CDATA[
  Fix: segmentation fault on gc_collect_cycles() after calling Event::free(), 5lava @ Bitbucket reported
  Fix: assignment reference to "data" property caused 'Fatal error:  Cannot assign by reference to overloaded object'
  Fix: evnt object dtors sometimes didn't free the 'data' member until the script shutdown phase
  ]]></notes>
    </release>
    <!--}}}-->
    <!--{{{ 1.7.0 -->
    <release>
      <version>
        <release>1.7.0</release>
        <api>1.7.0</api>
      </version>
      <stability>
        <release>stable</release>
        <api>stable</api>
      </stability>
      <license uri="http://www.php.net/license">PHP</license>
      <notes><![CDATA[
    Merged in 5lava/pecl-event (pull request #1) @bitbucket:
    Fix: EventBufferEvent::setTimeouts() didn't work with double values
    Fix: EventBuffer::copyout() didn't work in some cases
    Add: EventBuffer::readFrom() method (corresponds to evbuffer_read())
    Add: EventUtil::getSocketFD() method
  ]]></notes>
    </release>
    <!--}}}-->
    <!--{{{ 1.6.2  -->
    <release>
      <version>
        <release>1.6.2</release>
        <api>1.6.0</api>
      </version>
      <stability>
        <release>stable</release>
        <api>stable</api>
      </stability>
      <license uri="http://www.php.net/license">PHP</license>
      <notes><![CDATA[
  Fix: bug #64678 where Fedora Packaging Guidlines required LICENSE file
  Fix: bug #64680 where we should check for SKIP_ONLINE_TESTS environment variable
  Fix: bug #64679 where we had buffer overflow caused by struct sockaddr_storage * pointer
  ]]></notes>
    </release>
    <!--}}}-->
    <!--{{{ 1.6.1 -->
    <release>
      <version>
        <release>1.6.1</release>
        <api>1.6.0</api>
      </version>
      <stability>
        <release>stable</release>
        <api>stable</api>
      </stability>
      <license uri="http://www.php.net/license">PHP</license>
      <notes><![CDATA[
  Fix: bug #64652 where Event::__construct returned valid object, however, with
  uninitialized internal struct which caused segmentation faults in further
  method calls
  ]]></notes>
    </release>
    <!--}}}-->
    <!--{{{ 1.6.0 -->
    <release>
      <version>
        <release>1.6.0</release>
        <api>1.6.0</api>
      </version>
      <stability>
        <release>stable</release>
        <api>stable</api>
      </stability>
      <license uri="http://www.php.net/license">PHP</license>
      <notes><![CDATA[
  Fix: bug #64551 with build failed on Mac OS X
  Fix: address argument of the listener accept callback contained garbage in case of a client connected via UNIX domain socket
  Add: EventBuffer::write, EventUtil::setSocketOption methods and some constants
  Refact: automatically set the upper bound of EventBuffer::search to the buffer length, if it is greater then the length
  Fix: make the code compatible with PHP 5.5.0 .. 5.6.0-dev
  Fix: build error with zts PHP setup
  Fix: build error with libevent_extra disabled
  Add: EventListener fd readonly property for numeric file descriptor of the socket associated with the listener
  Add: EventBuffer::substr method

  INCOMPATIBLE CHANGES!
  Renamed EventBuffer::remove to EventBuffer::read, EventBuffer::read now takes only max_bytes argument and returns string.
  Renamed EventBuffer::removeBuffer to EventBuffer::appendFrom
  EventBuffer::read now takes single argument 'size' and returns the string read
  ]]></notes>
    </release>
    <!--}}}-->
    <!--{{{ 1.5.1 -->
    <release>
      <version>
        <release>1.5.1</release>
        <api>1.5.0</api>
      </version>
      <stability>
        <release>stable</release>
        <api>stable</api>
      </stability>
      <license uri="http://www.php.net/license">PHP</license>
      <notes><![CDATA[
      Fix: EventBuffer::removeBuffer returned boolean instead of the number of bytes read
      Add: EventBuffer::fd property
      Change: EventBuffer class is not final any more
      ]]></notes>
    </release>
    <!--}}}-->
    <!--{{{ 1.5.0 -->
    <release>
      <version>
        <release>1.5.0</release>
        <api>1.5.0</api>
      </version>
      <stability>
        <release>stable</release>
        <api>stable</api>
      </stability>
      <license uri="http://www.php.net/license">PHP</license>
      <notes><![CDATA[
        Fix: uninitialized socket caused segmentation fault in EventBufferEvent methods
        Del: EventBufferPosition class removed, EventBuffer::search now accepts and returns integers
        Add: EventBuffer::searchEol method
        Add: EventUtil::getSocketName method
        Add: EventListener::getSocketName method
        Fix: memory leak due to lack of zend_hash_destroy on the ssl context options
        Add: support of UNIX domain sockets in EventListener::__construct, EventBufferEvent::connect methods
        ]]></notes>
    </release>
    <!--}}}-->
    <!--{{{ 1.4.0-beta  -->
    <release>
      <version>
        <release>1.4.0</release>
        <api>1.4.0</api>
      </version>
      <stability>
        <release>beta</release>
        <api>beta</api>
      </stability>
      <license uri="http://www.php.net/license">PHP</license>
      <notes><![CDATA[
Add: HTTP server support:
  * EventHttp methods: setMaxBodySize, setMaxHeadersSize, setTimeout,
    addServerAlias, removeServerAlias setCallback, setDefaultCallback,
    setAllowedMethods, setMaxBodySize, setMaxHeadersSize, setTimeout,
    addServerAlias, removeServerAlias;
  * EventHttpRequest class, callback and custom data can be bound to the
    request for future use with EventHttpConnection
  * New EventHttpConnection::makeRequest method allows to make custom HTTP
    requests by means of EventHttpRequest class
Change: make EventDnsBase parameter optional in EventHttpConnection::__construct
Fix: classes/buffer_event.c: possible memory access violation in bufferevent callback
Fix: turn off buggy libevent thread lock debugging when built with --enable-event-debug
]]></notes>
    </release>
    <!--}}}-->
    <!--{{{ 1.3.0-beta-->
    <release>
      <version>
        <release>1.3.0</release>
        <api>1.3.1</api>
      </version>
      <stability>
        <release>beta</release>
        <api>beta</api>
      </stability>
      <license uri="http://www.php.net/license">PHP</license>
      <notes><![CDATA[
Fix: possible memory access violations in EventBufferEvent input/output property handlers
Change: Event::$timer_pending property removed; generic Event::$pending property added
Fix: With OPT_LEAVE_SOCKETS_BLOCKING flag EventListener::__construct turned fd to non-blocking mode
Fix: property and class HashTable's were not free'd in MSHUTDOWN
Add: Event::$data property
Fix: Event::__construct failed with Event::TIMEOUT flag
Fix: memory leak in EventBuffer::readLine
Add: --with-event-pthreads configure option
Fix: EventBase::reInit method's arginfo
  ]]></notes>
    </release>
    <!--}}}-->
    <!--{{{ 1.2.6-beta -->
    <release>
      <version>
        <release>1.2.6</release>
        <api>1.3.0</api>
      </version>
      <stability>
        <release>beta</release>
        <api>beta</api>
      </stability>
      <license uri="http://www.php.net/license">PHP</license>
      <notes><![CDATA[
      Fix: with OpenSSL turned off got error: undefined symbol: zim_EventUtil_sslRandPoll
      Add: implemented get_properties property handler(is called when one casts an object to array)
      Refact: removed memory alloc for empty property hashtables
      Fix: heap corruption caused by EventBufferEvent callbacks(thanks to Marco Schuster)
      Fix: continuous calls to EventBufferEvent::setCallbacks didn't free old fci/fcc(thanks to Marco Schuster)
      Fix: possible heap corruption in EventListener's callback
      Add: EventBase::resume method
      ]]></notes>
    </release>
    <!--}}}-->
    <!--{{{ 1.2.5-alpha -->
    <version>
      <release>1.2.5</release>
      <api>1.2.1</api>
    </version>
    <stability>
      <release>alpha</release>
      <api>alpha</api>
    </stability>
    <license uri="http://www.php.net/license">PHP</license>
    <notes><![CDATA[
  Fix: unneeded Z_ADDREF_P() calls in EventListener, EventBufferEvent constructors and factory methods
  Fix: EventListener cached file descriptor for all connections
  Change: EventBufferEvent enable/disable methods return bool now
  Change: instead of stream pass numeric file descriptor to EventListener's accept-connection callback
  Add: callbacks and the callback arg are now passed to EventBufferEvent::__construct as optional arguments
  ]]></notes>
    <!--}}}-->
    <!--{{{ 1.2.4-alpha -->
    <version>
      <release>1.2.4</release>
      <api>1.2.1</api>
    </version>
    <stability>
      <release>alpha</release>
      <api>alpha</api>
    </stability>
    <license uri="http://www.php.net/license">PHP</license>
    <notes><![CDATA[
  Fix: deleted redundant len argument of EventBuffer::readLine
  Fix: EventBuffer::readLine returned non-dup'd string. Caused bugs with pointers.
  ]]></notes>
    <!--}}}-->
    <!--{{{ 1.2.3-alpha -->
    <release>
      <version>
        <release>1.2.3</release>
        <api>1.2.0</api>
      </version>
      <stability>
        <release>alpha</release>
        <api>alpha</api>
      </stability>
      <license uri="http://www.php.net/license">PHP</license>
      <notes><![CDATA[
  Fix: build errors
  Fix: undefined symbol SSLv2_*_method when SL_OP_NO_SSLv2 defined
  ]]></notes>
    </release>
    <!--}}}-->
    <!--{{{ 1.2.0-alpha-->
    <release>
      <version>
        <release>1.2.0</release>
        <api>1.2.0</api>
      </version>
      <stability>
        <release>alpha</release>
        <api>alpha</api>
      </stability>
      <license uri="http://www.php.net/license">PHP</license>
      <notes><![CDATA[
  Fix: non-static zend_always_inline function failed to compile with some (non-zts) php setups
  Change: static EventBuffer::addBuffer made non-static with one argument
  Add: EventBuffer expand, prepend, prependBuffer, drain, copyout, readLine, search,
  setPosition methods
  Add: EventBufferPosition class
  Fix: configure error in FreeBSD
  Add: OpenSSL support: EventBufferEvent methods: sslFilter, sslSocket, sslError, sslRenegotiate; EventSslContext class
  Add: EventBuffer::pullup method
  ]]></notes>
    </release>
    <!--}}}-->
    <!--{{{ 1.1.1-devel -->
    <release>
      <version>
        <release>1.1.1</release>
        <api>1.1.0</api>
      </version>
      <stability>
        <release>devel</release>
        <api>devel</api>
      </stability>
      <license uri="http://www.php.net/license">PHP</license>
      <notes><![CDATA[
  Fix: the installer failed to determine location of src/common.h
  ]]></notes>
    </release>
    <!--}}}-->
    <!--{{{ 1.1.0-devel -->
    <release>
      <version>
        <release>1.1.0</release>
        <api>1.1.0</api>
      </version>
      <stability>
        <release>devel</release>
        <api>devel</api>
      </stability>
      <license uri="http://www.php.net/license">PHP</license>
      <notes><![CDATA[
  Procedural API converted to OOP API
  ]]></notes>
    </release>
    <!--}}}-->
    <!--{{{ 1.0.1-devel -->
    <release>
      <version>
        <release>1.0.1</release>
        <api>1.0.0</api>
      </version>
      <stability>
        <release>devel</release>
        <api>devel</api>
      </stability>
      <license uri="http://www.php.net/license">PHP</license>
      <notes><![CDATA[
    Fix: crash due to destruction of the internal bufferevent buffers (synced with oop branch)
    Fix: extra memory consumption caused by continuous calls to bufferevent_get_input/_output
    Fix: memory violation while parsing event_config_set_max_dispatch_interval parameters
  ]]></notes>
    </release>
    <!--}}}-->
    <!--{{{ 1.0.0-devel -->
    <release>
      <date>2013-01-19</date>
      <version>
        <release>1.0.0</release>
        <api>1.0.0</api>
      </version>
      <stability>
        <release>devel</release>
        <api>devel</api>
      </stability>
      <license uri="http://www.php.net/license">PHP</license>
      <notes><![CDATA[
      Libevent 2+ support added
        ]]></notes>
    </release>
    <!--}}}-->
    <!--{{{ Obsolete releases-->
    <release>
      <date>2004-12-16</date>
      <lead>
        <name>Wez Furlong</name>
        <user>wez</user>
        <email>wez@php.net</email>
        <active>yes</active>
      </lead>
      <version>
        <release>0.9.1</release>
        <api>0.9.1</api>
      </version>
      <stability>
        <release>beta</release>
        <api>beta</api>
      </stability>
      <license uri="http://www.php.net/license">PHP</license>
      <notes><![CDATA[
      Added event_timeout() function for easily scheduling a callback after a certain
      period of time.  The timeout may be persistent to make the callback a recurrent
      event.

      Fixed an issue with timercmp() on windows that caused a busy wait when the
      scheduler could have performed a sleep.

      Windows scheduling engine now also processes the message queue while
      waiting; useful for COM/GUI based scripts.

      Fixed build for threaded systems with real signals.

      Supports epoll(4), poll(2) and select(2) IO notification engines.
      Support for /dev/poll and kqueue is pending.

      On Windows, currently only sockets can participate in the IO notification engine.
      ]]></notes>
      <deps>
        <dep type="php" rel="ge" version="4.3.0"/>
      </deps>
    </release>
    <!--}}}-->
  </changelog>
  <!--}}}-->
</package>
<!-- vim: set et sts=2 ts=2 sw=2 fdm=marker: -->
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.