Review Request 112294: Implement multi-seat support in KDM

Stefan Brüns stefan.bruens at rwth-aachen.de
Thu May 29 20:00:59 BST 2014



> On May 26, 2014, 2:50 p.m., Stefan Brüns wrote:
> > kdm/backend/dm.c, line 1430
> > <https://git.reviewboard.kde.org/r/112294/diff/7/?file=274916#file274916line1430>
> >
> >     Hm, I prefer this notation, in particular as this is the same as for std::string (guaranteed since C++03, working for all versions of C++):
> >     
> >     std::string foo(100, '\0');
> >     char* buf = &foo[10];
> >     
> >     vs
> >     
> >     char foo[100] = { '\0' };
> >     char *buf &foo[10];
> >     
> >     This is correct, as arrays (both C and C++) are guaranteed to be contiguous, and thus (&foo[10]) == (foo + 10).
> 
> Oswald Buddenhagen wrote:
>     i know how c works. ;)
>     it still looks wrong from the mathematical pov, because you actually want a slice, kinda &foo[10..inf]. this is better expressed by writing something that looks more like just the starting offset, i.e., foo + 10. it also happens to have less meta char noise.
>     and yes, this is a matter of preference. my code, my rules. :P
>

Yeah, plain C sucks. Changed to pointer plus offset.


> On May 26, 2014, 2:50 p.m., Stefan Brüns wrote:
> > kdm/backend/dm.c, line 1510
> > <https://git.reviewboard.kde.org/r/112294/diff/7/?file=274916#file274916line1510>
> >
> >     Nope. After systemdHandleChange() we will repeat the while(...) loop, calling:
> >     startDisplays();
> >     which calls:
> >     forEachDisplay(checkDisplayStatus);
> >     which does:
> >     if ((d->displayType & d_origin) == dFromFile && !d->stillThere)
> >             stopDisplay(d);
> 
> Oswald Buddenhagen wrote:
>     good point. but this means that we actually may not re-use this variable, because it will interfere, no matter what (your code would inadvertently re-animate a just-died display, i think).
>     i suggest you keep the mechanism, but use a new variable "activated" for it.

this is d->seatRemoved now.


- Stefan


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/112294/#review58481
-----------------------------------------------------------


On May 26, 2014, 12:06 a.m., Stefan Brüns wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/112294/
> -----------------------------------------------------------
> 
> (Updated May 26, 2014, 12:06 a.m.)
> 
> 
> Review request for kde-workspace and Oswald Buddenhagen.
> 
> 
> Repository: kde-workspace
> 
> 
> Description
> -------
> 
> This patch implements dynamic multiseat in KDM. It follows the description in:
> http://www.freedesktop.org/wiki/Software/systemd/writing-display-managers/
> 
> In case systemd is no found at compile time, nothing changes. If logind is not running, nothing changes. If no additional seats have been configured (some Plugable USB-GPUs are automatically added as additional seats), nothing changes.
> 
> In case there are additional seats beyond seat0, a reserved display is promoted to a local static one (and demoted if the seat is removed) and a new X-Server/greeter is spawned.
> 
> The code has been tested extensively, with a combination of [Radeon dedicated GPU|Intel iGPU], [Intel iGPU|Displaylink USB GPU] and others. For history of this patch, see https://bugzilla.redhat.com/show_bug.cgi?id=884271 and https://bugzilla.redhat.com/show_bug.cgi?id=975079
> 
> 
> Diffs
> -----
> 
>   cmake/modules/CMakeLists.txt 117b3a5 
>   kdm/ConfigureChecks.cmake b61fd90 
>   kdm/backend/CMakeLists.txt 25f383f 
>   kdm/backend/client.c a2d06c2 
>   kdm/backend/dm.h b2f8c61 
>   kdm/backend/dm.c 77a2ef7 
>   kdm/backend/dpylist.c b650c2f 
>   kdm/backend/resource.c 38a8c70 
>   kdm/backend/server.c d8dd6f3 
>   kdm/backend/session.c 0e7901c 
>   kdm/config-kdm.h.cmake 3e8912d 
>   kdm/kfrontend/kdm_config.c 368c8d1 
> 
> Diff: https://git.reviewboard.kde.org/r/112294/diff/
> 
> 
> Testing
> -------
> 
> Single seat system, several multiseat systems
> 
> 
> Thanks,
> 
> Stefan Brüns
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20140529/7cc1dd11/attachment.htm>


More information about the kde-core-devel mailing list