This is the mail archive of the cygwin-patches mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


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

Attachment: signature.asc
Description: PGP signature


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]