Commit 9b3875693d36930ded9bbc75586b7aaa06db7758
1 parent
d4b1357d
Exists in
master
Se perde a conexão com a porta USB, sai do programa.
git-svn-id: http://svn.softwarepublico.gov.br/svn/sistemadeatendimento/sistema/trunk@35 63db2ce5-8a6c-0410-abb9-a418dd412890
Showing
1 changed file
with
6 additions
and
2 deletions
Show diff stats
Fila-Opiniometro/lib/Fila/Opiniometro/Model/Device.pm
... | ... | @@ -114,12 +114,16 @@ sub _check_wb { |
114 | 114 | return if $write_watcher || !$self->write_buffer; |
115 | 115 | |
116 | 116 | $write_watcher = EV::io $self->fh, EV::WRITE, sub { |
117 | - use bytes; | |
117 | + use bytes; | |
118 | 118 | my $buf = $self->write_buffer; |
119 | 119 | my $len = length $buf; |
120 | 120 | my $wrt = $self->fh->syswrite($buf, $len); |
121 | + unless (defined $wrt) { | |
122 | + EV::unloop(EV::UNLOOP_ALL); | |
123 | + return; | |
124 | + } | |
121 | 125 | my $wrote = substr($buf,0,$wrt,''); |
122 | - warn 'Wrote '.$wrt.' bytes ('.$wrote.')'; | |
126 | + warn 'Wrote '.$wrt.' bytes ('.$wrote.') ['.$_.']'; | |
123 | 127 | $self->write_buffer($buf); |
124 | 128 | $write_watcher = undef unless $buf; |
125 | 129 | }; | ... | ... |