[PATCH v3] Refactor to avoid nonnull checks on "this" pointer.

Corinna Vinschen corinna-cygwin@cygwin.com
Tue Apr 5 08:32:00 GMT 2016


On Apr  4 16:52, Corinna Vinschen wrote:
> On Apr  2 11:36, Peter Foley wrote:
> > G++ 6.0 asserts that the "this" pointer is non-null for member
> > functions.
> > Refactor methods that check if "this" is non-null to resolve this.
> > 
> > winsup/cygwin/ChangeLog:
> > external.cc (cygwin_internal): Check for a null pinfo before calling
> > cmdline.
> > fhandler_dsp.cc (Audio::blockSize): Make static.
> > fhandler_dsp.cc (Audio_in): add default_buf_info.
> > fhandler_dsp.cc (Audio_out): Ditto.
> > fhandler_dsp.cc (Audio_out::buf_info): Refactor method to call
> > default_buf_info if dev_ is null.
> > fhandler_dsp.cc (Audio_in::buf_info): Ditto.
> > fhandler_dsp.cc (fhandler_dev_dsp::_ioctl): Call Audio_out::default_buf_info if audio_out_ is null.
> > fhandler_dsp.cc (fhandler_dev_dsp::_ioctl): Call Audio_in::default_buf_info if audio_in_ is null.
> > fhandler_process.cc (format_process_fd): Check if pinfo is null.
> > fhandler_process.cc (format_process_root): Ditto.
> > fhandler_process.cc (format_process_cwd): Ditto.
> > fhandler_process.cc (format_process_cmdline): Ditto.
> > signal.cc (tty_min::kill_pgrp): Ditto.
> > signal.cc (_pinfo::kill0): Ditto.
> > sigproc.cc (pid_exists): Ditto.
> > sigproc.cc (remove_proc): Ditto.
> > times.cc (clock_gettime): Ditto.
> > times.cc (clock_getcpuclockid): Ditto.
> > path.cc (cwdstuff::override_win32_cwd): Check if old_cwd is null.
> > path.cc (fcwd_access_t::Free): Factor null check of "this" out to
> > caller(s).
> > pinfo.cc (_pinfo::exists): Ditto.
> > pinfo.cc (_pinfo::fd): Ditto.
> > pinfo.cc (_pinfo::fds): Ditto.
> > pinfo.cc (_pinfo::root): Ditto.
> > pinfo.cc (_pinfo::cwd): Ditto.
> > pinfo.cc (_pinfo::cmdline): Ditto.
> > signal.cc (_pinfo::kill): Ditto.
> > pinfo.cc (_pinfo::commune_request): remove non-null check on "this", as
> > this method is only called from pinfo.cc after null checks
> > pinfo.cc (_pinfo::pipe_fhandler): remove non-null check on "this", as
> > this method is only called from pipe.cc (fhandler_pipe::open) after a null check.
> 
> Patch applied.

And reverted.  This patch is the culprit for the problem reported in
https://cygwin.com/ml/cygwin/2016-04/msg00085.html

Can you please take another look, Peter?


Thanks,
Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 cygwin AT cygwin DOT com
Red Hat
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://cygwin.com/pipermail/cygwin-patches/attachments/20160405/891e236e/attachment.sig>


More information about the Cygwin-patches mailing list