<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">2016-09-22 11:16 GMT+03:00 Eugene Ponizovsky <span dir="ltr"><<a href="mailto:ponizovsky@gmail.com" target="_blank">ponizovsky@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Руслан, если я правильно все рассчитал, то этот callback не будет вызван, если не осталось ни одной нормальной ссылки на $self, так как сам callback помещается в $self далее по коду, и он будет уничтожен вместе с последней ссылкой на объект клиента. Есть ли у Вас пример, в котором это приводит к ошибке?</blockquote></div><br>Возможно вы правы. Это были домыслы на основе чтения кода.</div><div class="gmail_extra"><br></div><div class="gmail_extra">Вот натолкнулся на более актуальную проблему и это уже в тестах:</div><div class="gmail_extra">







<p class="gmail-p1"><span class="gmail-s1">EV: error in callback (ignoring): Can't call method "_process_reply" on an undefined value at /Users/ruz/perl5/perlbrew/perls/perl-5.16.1/lib/site_perl/5.16.1/AnyEvent/RipeRedis.pm line 448, <DATA> line 2231.</span></p></div><div class="gmail_extra">Это как раз случилось из-за того что клиент прибиваю раньше времени. Ошибка конечно у меня, но она не привела к "Client object destroyed prematurely."</div>







<div class="gmail_extra"><br></div><div class="gmail_extra">Кстати как вы это решаете у себя? Я в большинстве случаев создаю коннект, выполняю ряд операций без callback'а и только на после последней передаю callback, где резолвлю promise (дергаю переданный callback). В некоторых случаях совсем нетривиально подсчитать какая команда будет последней.<br clear="all"><div><br></div>-- <br><div class="gmail_signature">Best regards, Ruslan.</div>
</div></div>